289 Görüntülenme

C# Form Üzerinde Kısayol Tuş İşlemleri

C# Form Üzerinde Kısayol Tuş İşlemleri
İlk Beğenen Sel Ol

C# Form Üzerinde Kısayol Tuş İşlemleri, yazımız ile c sharp eğitimlerimize devam ediyoruz dostlar. Bu yazım ile toplamda 100 adet yazım oldu. Yani bu 100. yazım. Giderek artan takipçi sayısı ile gün geçtikçe daha da büyüyoruz. Her eğitim yazımda elimden geldiğince açık ve anlaşılır bir şekilde yazmaya özen gösteriyorum ve böyle de davam edecektir.  Bu eğitim yazımda sizlere C Sharp Form Üzerinde Kısayol Tuş İşlemleri ‘ni anlatmaya çalışacağım. Projelerimiz büyüdükçe ve kullanıcılara kullandırmaya başladıktan sonra düzenli yapılan işlerde kısayol tuşlarını kullanmak işlemlerin daha hızlı yapılmasını sağlamaktadır. Bu sebeple ilk zamanlarda olmasa da ilerleyen zamanlarda kısayol tuşları için istekler gelmeye başlayacaktır. Dilerseniz bu kısayol tuşlarını nasıl ayarlayacağımızı görelim.

Visual Studio Kısayollarını Biliyor Musunuz? başlıklı yazımda visual studio kullanımını kolaylaştıran ve kod yazımını hızlandıran kısa yollardan bahsetmiştik.

 

C Sharp Form Üzerinde Kısayol Tuş İşlemleri

Her ne kadar form üzerindeki kısayollar desek de nesnelere özel de kısayollar atayabilir her kısayola göre farklı işlemler yaptırabiliriz. Ancak şuanda sadece Form üzerindeki kısayolları göreceğiz.

Properties Sayfasından Verilen Kısayollar

Form özelliklerinden (Properties) 3 adat kısayol tuşu ayarlayabiliriz. Bu kısayollar şöyledir.

AccecptButton – Formunuzda kaydet butonu varsa, bu özelliğe o butonu atarsanız  ENTER tuşuna bastığınızda kaydet butonu tetiklenir.

CancelButton – Formunuzda çıkış butonu varsa, bu özelliğe o butonu atarsanız ESC tuşuna bastığınızda çıkış butonu tetiklenir.

HelpButton – Formunuzda yardım butonu varsa, bu özelliğe o butonu atarsanız F1 tuşuna bastığınızda yardım butonu tetiklenir.

Yukarıdaki özellikler formlar üzerinde var olan butonları atayabilirsiniz. ContextMenuStirp vs denedim ancak bunların atamasını yapılmıyor. Button nesnesi olmak zorundadır.

 

Kod İle Verilen Kısayollar

Öncelikle bu kısmın çalışabilmesi için form üzerinde kısayol tuşlarının çalışabilme özelliğini açmamız gerekiyor. Form’un properties kısmına gelin ve KeyPreview özelliğini True Yapın. Sonrasında yine aynı ekranda yer alan eventler sayfasına geçin.

Burada üç farklı key eventi bulunmaktadır. Bunlar, KeyDown, KeyPress ve KeyUp eventleridir. Bu eventlerin çalışma sırası da yazdığım sıradadır. Yani aşağıdaki gibi.

1 – KeyDown = Klavyeden bir tuşa her basıldığında çalışır. Tuşa basılı tutulursa da çalışır.

2 – KeyPress = Klavyeden bir tuşa her basıldığında çalışır. Tuşa basılı tutulursa da çalışır.

3 – KeyUp = Klavyeden bir tuşa her basıldığında çalışır. Tuşa basılı tutulursa çalışmaz.. Elinizi tuştan çektiğinizde çalışır.

Bir formda bu üç eventte varsa yukarıdaki sıraya göre işlenirler.

Biz kodlarımızı KeyDown eventi içerisinde yazacağız. ESC tuşuna bastığımızda formu kapatan bir kod yazalım.

        private void form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Escape)
{
// Yukarıdaki " e " KeyEventArgs'tan gelmektedir.
// Klavyeden girilen tuşu Keydata türünde saklar
Close();
}
}

Burada ek bir bilgi vereyim. Bu event içerisinde switch kullanırsanız, Aşağıdaki kodlar otomatik getirilecektir. Kısacası klavye üzerindeki tüm tuşlar, hatta daha fazlası…

   switch (e.KeyData)
{
case Keys.KeyCode:
break;
case Keys.Modifiers:
break;
case Keys.None:
break;
case Keys.LButton:
break;
case Keys.RButton:
break;
case Keys.Cancel:
break;
case Keys.MButton:
break;
case Keys.XButton1:
break;
case Keys.XButton2:
break;
case Keys.Back:
break;
case Keys.Tab:
break;
case Keys.LineFeed:
break;
case Keys.Clear:
break;
case Keys.Return:
break;
case Keys.Enter:
break;
case Keys.ShiftKey:
break;
case Keys.ControlKey:
break;
case Keys.Menu:
break;
case Keys.Pause:
break;
case Keys.Capital:
break;
case Keys.CapsLock:
break;
case Keys.KanaMode:
break;
case Keys.HanguelMode:
break;
case Keys.HangulMode:
break;
case Keys.JunjaMode:
break;
case Keys.FinalMode:
break;
case Keys.HanjaMode:
break;
case Keys.KanjiMode:
break;
case Keys.Escape:
break;
case Keys.IMEConvert:
break;
case Keys.IMENonconvert:
break;
case Keys.IMEAccept:
break;
case Keys.IMEAceept:
break;
case Keys.IMEModeChange:
break;
case Keys.Space:
break;
case Keys.Prior:
break;
case Keys.PageUp:
break;
case Keys.Next:
break;
case Keys.PageDown:
break;
case Keys.End:
break;
case Keys.Home:
break;
case Keys.Left:
break;
case Keys.Up:
break;
case Keys.Right:
break;
case Keys.Down:
break;
case Keys.Select:
break;
case Keys.Print:
break;
case Keys.Execute:
break;
case Keys.Snapshot:
break;
case Keys.PrintScreen:
break;
case Keys.Insert:
break;
case Keys.Delete:
break;
case Keys.Help:
break;
case Keys.D0:
break;
case Keys.D1:
break;
case Keys.D2:
break;
case Keys.D3:
break;
case Keys.D4:
break;
case Keys.D5:
break;
case Keys.D6:
break;
case Keys.D7:
break;
case Keys.D8:
break;
case Keys.D9:
break;
case Keys.A:
break;
case Keys.B:
break;
case Keys.C:
break;
case Keys.D:
break;
case Keys.E:
break;
case Keys.F:
break;
case Keys.G:
break;
case Keys.H:
break;
case Keys.I:
break;
case Keys.J:
break;
case Keys.K:
break;
case Keys.L:
break;
case Keys.M:
break;
case Keys.N:
break;
case Keys.O:
break;
case Keys.P:
break;
case Keys.Q:
break;
case Keys.R:
break;
case Keys.S:
break;
case Keys.T:
break;
case Keys.U:
break;
case Keys.V:
break;
case Keys.W:
break;
case Keys.X:
break;
case Keys.Y:
break;
case Keys.Z:
break;
case Keys.LWin:
break;
case Keys.RWin:
break;
case Keys.Apps:
break;
case Keys.Sleep:
break;
case Keys.NumPad0:
break;
case Keys.NumPad1:
break;
case Keys.NumPad2:
break;
case Keys.NumPad3:
break;
case Keys.NumPad4:
break;
case Keys.NumPad5:
break;
case Keys.NumPad6:
break;
case Keys.NumPad7:
break;
case Keys.NumPad8:
break;
case Keys.NumPad9:
break;
case Keys.Multiply:
break;
case Keys.Add:
break;
case Keys.Separator:
break;
case Keys.Subtract:
break;
case Keys.Decimal:
break;
case Keys.Divide:
break;
case Keys.F1:
break;
case Keys.F2:
break;
case Keys.F3:
break;
case Keys.F4:
break;
case Keys.F5:
break;
case Keys.F6:
break;
case Keys.F7:
break;
case Keys.F8:
break;
case Keys.F9:
break;
case Keys.F10:
break;
case Keys.F11:
break;
case Keys.F12:
break;
case Keys.F13:
break;
case Keys.F14:
break;
case Keys.F15:
break;
case Keys.F16:
break;
case Keys.F17:
break;
case Keys.F18:
break;
case Keys.F19:
break;
case Keys.F20:
break;
case Keys.F21:
break;
case Keys.F22:
break;
case Keys.F23:
break;
case Keys.F24:
break;
case Keys.NumLock:
break;
case Keys.Scroll:
break;
case Keys.LShiftKey:
break;
case Keys.RShiftKey:
break;
case Keys.LControlKey:
break;
case Keys.RControlKey:
break;
case Keys.LMenu:
break;
case Keys.RMenu:
break;
case Keys.BrowserBack:
break;
case Keys.BrowserForward:
break;
case Keys.BrowserRefresh:
break;
case Keys.BrowserStop:
break;
case Keys.BrowserSearch:
break;
case Keys.BrowserFavorites:
break;
case Keys.BrowserHome:
break;
case Keys.VolumeMute:
break;
case Keys.VolumeDown:
break;
case Keys.VolumeUp:
break;
case Keys.MediaNextTrack:
break;
case Keys.MediaPreviousTrack:
break;
case Keys.MediaStop:
break;
case Keys.MediaPlayPause:
break;
case Keys.LaunchMail:
break;
case Keys.SelectMedia:
break;
case Keys.LaunchApplication1:
break;
case Keys.LaunchApplication2:
break;
case Keys.OemSemicolon:
break;
case Keys.Oem1:
break;
case Keys.Oemplus:
break;
case Keys.Oemcomma:
break;
case Keys.OemMinus:
break;
case Keys.OemPeriod:
break;
case Keys.OemQuestion:
break;
case Keys.Oem2:
break;
case Keys.Oemtilde:
break;
case Keys.Oem3:
break;
case Keys.OemOpenBrackets:
break;
case Keys.Oem4:
break;
case Keys.OemPipe:
break;
case Keys.Oem5:
break;
case Keys.OemCloseBrackets:
break;
case Keys.Oem6:
break;
case Keys.OemQuotes:
break;
case Keys.Oem7:
break;
case Keys.Oem8:
break;
case Keys.OemBackslash:
break;
case Keys.Oem102:
break;
case Keys.ProcessKey:
break;
case Keys.Packet:
break;
case Keys.Attn:
break;
case Keys.Crsel:
break;
case Keys.Exsel:
break;
case Keys.EraseEof:
break;
case Keys.Play:
break;
case Keys.Zoom:
break;
case Keys.NoName:
break;
case Keys.Pa1:
break;
case Keys.OemClear:
break;
case Keys.Shift:
break;
case Keys.Control:
break;
case Keys.Alt:
break;
default:
break;
}

 

Aşağıdaki örneğimizde CTRL + (Tuş) şeklinde bir kısayol ataması yapılmıştır. CTRL + D yaptığımızda form kapansın istiyoruz.

        private void form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.D)
{
Close();
}
}

Aynı şekilde ALT + (Tuş)  şeklinde bir kısayol ataması yapılmıştır. ALT + D yaptığımızda form kapansın istiyoruz.

        private void form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Alt && e.KeyCode == Keys.D)
{
Close();
}  
}

Yukarıdaki örneklerin SHIFT tuşu ile olanını da yapalım.

        private void form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Shift && e.KeyCode == Keys.D)
{
Close();
}  
}

 

Buraya kadar tamamdır. Şimdi de daha fazla tuş içeren kombinasyonlar deneyelim.

Yukarıdaki örneğe sadık kalarak; CTRL + ALT  SHIFT + D yaptığımızda form kapansın.

        private void DinamikButton_KeyDown(object sender, KeyEventArgs e)
{
if (e.Shift && e.Alt && e.Control && e.KeyCode == Keys.D)
{
Close();
}  
}

Son olarak da yukarıdaki örneğimize bir harf daha ekleyelim. (Ekleyemedi 😀 ) Denedim iki harf ile olmadı. 😀 

C Sharp Form Üzerinde Kısayol Tuş İşlemleri bu kadardı. Ek bilgi olarak aşağıdaki yazıma bakabilirisiniz.


Ek Bilgi : ContextMenuStrip Kısayol Ayarlama

Bu kısım form ile alakalı değil ancak kısayol atama ile alakalı olduğundan anlatmak istedim. Bu işlem için herhangi bir kod yazmamıza gerek yoktur.

ContextMenuStirp dediğimiz nesne ise herhangi bir nesne üzerinde sağ tıkladığımızda açılacak menüye verilen addır. Mesela masaüstünde sağ tık yapıyoruz ya  ContextMenuStirp işte odur.

Formumuza bir ContextMenuStrip ekleyelim. Eklediğimiz ContextMenuStrip ‘e tıkladığımızda formun sol üst köşesinde görünecektir. Aşağıdaki görselde görebilirsiniz.

ContextMenuStrip Kısayol

Type Here yazan kısma tıklayıp birşeyler yazalım. Ben Yenile yazdım. Şimdi Yenile menüsüne sağ tık yapıp properties sayfasına gidelim. Bu sayfada kısayollar ile ilgili üç adet özellik bulunmaktadır.

1 – ShotcutKeyDisplayString: Kısayolun nasıl görüneceğini belirtiyoruz.

2 – ShotcutKeys: Kısayol tuşlarını yazıyoruz.

3 – ShowShotcutKeys: Yenile yazdığımız menünün sağında kısayolunun gösterilip gösterilmeyeceğini belirtiyoruz. Varsayılan olarak True gelir.

Şimdi ShotcutKeyDisplayString özelliğine birşey yazmamıza gerek yok. Boş bırakalım. ShotcutKeys’ özelliğine tıkladığımızda aşağıdaki gibi bir ekran çıkacaktır.

c# kısayol tuşları

c# kısayol tuşu atama

CTRL, ALT yada SHIFT tuşarından birini, ikisini yada üçünü de seçebilirsiniz. Bunlardan birini seçtikten sonra Keys  listesini açıp istediğimiz key’i seçiyoruz.

NOT 1: Fonksiyon tuşlarını ctrl, alt yada shift seçmeden kullanabilirsiniz. Ancak A, B gibi tuşları ctrl, alt yada shift seçmeden kullanamazsınız. Zaten seçmeye çalıştığınızda hata mesajı verecektir.

NOT 2: ContextMenuStirp’i formun özelliklerinden atamasını yapmazsanız, kısayollar çalışmayacaktır. Ayrıca kısayolları kullanabilmek için ContextMenuStirp’i açmanıza gerek yoktur. (Yani form üzerinde sağ tık yapmanıza…)

Şimdi ContextMenuStirp’imizin son haline bir bakalım.

c# kısayol atama

Gördüğünüz gibi, özellikler sayfasından atadığım F5 tuşu otomatik olarak Yenile özelliğinin yanına yazıldı. Artık form üzerinde F5 yaptığımda yenile özelliği altındaki kodlarım çalışacaktır.


C Sharp Form Üzerinde Kısayol Tuş İşlemleri , yazımızda bu kadar dostlar. Diğer c sharp eğitim yazılarımıza görüşmek üzere…

C Sharp Eğitim Seti ve ERP Programlama ders listesi için tıklayınız. 

Takipte ve Sağlıcakla kalın. 😉

Liseden, Ağ Sistemleri ve Yönetimi bölümünden mezun oldum. Üniversiteden (2 yıllık), Bilgisayar Programcılığı bölümünden mezun oldum. Şuanda da AÖF, Yönetim Bilişim Sistemleri bölümünde okumaktayım.

Uzmanlık alanlarım; Windows Sistemleri, HTML, CSS, C# ve SQL’dir.

Hobi olarak uğraştığım genel konular, Photoshop, After Affects, Corel Draw’dır.Film, YABANCI dizi, Anime izlemeyi ve Manga okumayı severim. Arkadaşlarımla yürüyüş yapmayı ve grup olarak aktivitelere gitmeyi severim. Geri kalan zamanlarımın tümü bilgisayar karşısında geçer.