Son Haberler
Anasayfa / Yazılım / C# / Windows Kontrollerine Kısayol Atamak ve Tab Order – LinkLabel Kullanımı

Windows Kontrollerine Kısayol Atamak ve Tab Order – LinkLabel Kullanımı

Bu yazımda windows kontrollerine kısayol atama, tab order verme ve dialogresult’tan bahsedeceğim. Direkt olarak uygulamaya geçip adım adım anlatalım. Bir windows c# projesi oluşturuyoruz. Bir adet formumuz var fakat bir adet daha ekliyoruz. İkinci form design alanında aşağıdaki gibi kontrollerimizi ekliyoruz.

İki adet label, iki adet textbox, iki adet buton ekleyelim. Aşağıdaki şekilde özelliklerini düzenleyelim.

label1 – Name : lblAd ; Text : Ad
label2 – Name : lblSoyad ; Text : Soyad
textbox1 – Name : txtAd
textBox2 – Name : txtSoyad

Butonlara sonra geri döneceğiz. Şimdi burada değinmek istediğim nokta var. Windows kontrollerine kısayol atamak istiyorum. Yani yapmak istediğim şu lblAd kontrolümde Ad yazısında A harfinin altı çizili olsun. Aynı şekilde lblSoyad kontrolümde Soyad yazısında S harfinin altı çizili olsun. Bunu yapabilmek için lblAd kontrolümü seçiyorum ve Text özelliğindeki Ad yazısının önüne & işaretini ekliyorum. Aynı şekilde lblSoyad kontrolümü seçiyorum Text özelliğinde Soyad yazısının önüne & işaretini ekliyorum.

Böylelikle uygulamam çalıştırıldığında ALT tuşu ile birlikte ALT + A veya ALT + S tuşlarına birlikte basmam gerekir. Şimdi yapmak istediğim diğer noktaya geçmeden önce hemen butonlarımın özelliklerini veriyorum

button1 – Name : btnTamam – Text : Tamam – DialogResult : OK
button2 – Name : btnIptal – Text : İptal – DialogResult : Cancel

olarak ayarlıyorum. Sonra formumu seçiyorum ve aşağıdaki iki özelliğini karşılığında vermiş olduğum şekilde ayarlıyorum.

AcceptButton : btnTamam
CancelButton : btnIptal

olarak ayarlıyorum. Şimdi ben ALT + a ve ALT + s yaptığım zaman birinci textbox ve ikinci textboxa odaklanmak istiyorsam bunların Tab orderlarını düzenlemem gerek. Bunu yapmak için üstte bulunan View menüsünden Tab Order seçeneğini seçiyorum.

Bu yanlış bunu aşağıdaki gibi düzenliyorum. Önce lblAd sonra txtAd sonra lblsoyad sonra txtsoyad sonra btnTamam sonra btnIptal olacak. Bu işlemi yapabilmek için mavi ile belirtilen rakamlar üzerine istediğim sıralama ile gittiğimde hangi sıra ise o kadar tıklayarak otomatik olarak tab order istediğim şekilde veriliyor.

Tab order görünümünden çıkmak için tekrar View menüsünden Tab Order diyerek bu görünümden çıkıyorum.

Şu ana kadar işlemlerimi bayağı ilerlettim. Şimdi yapmak istediğim şu, Form1’den bir linklabel ile ikinci forma ulaşmak burada kullanıcı adı ve soyadı girmek ve tamam tuşu ile ya da veri girmeden iptal tuşu ile bir dialogresult göndermek. Şimdi dolayısı ile kodlarımı form1’de yazıcam. Ancak benim textbox kontrollerim form2’de bunlara form1’den ulaşabilmem lazım. Bunun için txtAd ve txtSoyad kontrollerimin properties alanından Modifier özelliğini Internal yapıyorum.

Daha sonra Form1’e dönüyorum, bir adet linklabel ekliyorum. Özelliklerini aşağıdaki gibi ayarlıyorum.

Text : Soru Formu – Name : linksoru

Daha sonra linksoru kontrolümün event listesinden Link_Clicked eventinde aşağıdaki kodları yazıyorum :

 private void linksoru_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            Form2 frmSoru = new Form2();
            DialogResult sonuc = frmSoru.ShowDialog();
            if (sonuc == DialogResult.OK)
            {
                MessageBox.Show(frmSoru.txtAd.Text + " " + frmSoru.txtSoyad.Text);
            }
            else
            {
                MessageBox.Show("İşlem iptal edildi");
            }
            linksoru.LinkVisited = true;
        }

Aşağıdaki linkten uygulamayı indirebilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir