pcworld online logo

Bir Türlü Sıraya Girmiyor!

Yeni bir proje açtınız ve formunuzu yaratmaya, üzerine iki komut düğmesi koyarak başladınız diyelim. Ama bir süre sonra bu iki düğmenin arasına başka bir düğme koymak istediniz ve de koydunuz. Programınızı çalıştırdınız ve Tab tuşunu kullanarak form üzerindeki kontroller arasında geçiş yapıyorsunuz. İşte bu noktada sizi çok rahatsız edecek bir durumla karşılaşacaksınız. Çünkü Visual Basic Tab tuşu ile geçiş sırasını, kontrollerin yaratılış sırasına göre tayin eder. Bu rahatsız edici durumu, hemen hemen tüm kontroller için Properties kutucuğunda bulunan “TabIndex” özelliğini kullanarak giderebilir ve kontrollerin Tab sırasını istediğiniz gibi ayarlayabilirsiniz. Örneğin, bu üç tuşu Tab sırasına koymak için önce birinci yarattığınız düğmenin üzerine gidin ve onu aktif yaptıktan sonra Properties kutucuğundan TabIndex değerini “0” yapın. İkinci düğmeye gelin ve TabIndex değerini “1” yapın. Programı çalıştırdığınızda düğmelerin Tab sırasına girdiğini göreceksiniz.

Püf Noktası: Form üzerinde herhangi bir kontrolün Tab tuşu ile aktif olmamasını “TabStop” özelliğini “False” yaparak sağlayabilirsiniz.

Peki, belli bir durumun gerçekleşmesi sonucunda Form üzerinde başka bir kontrolün aktif olmasını nasıl sağlayabiliriz? Bu işi yapmak için ise SetFocus komutunu kullanırız. Belli bir koşul gerçekleştiğinde, örneğin bir opsiyon kutusu seçildiğinde herhangi bir metin kutusunu aktif yapmak için

Sub Option1_Click
Form1.Text1.SetFocus
End Sub
gibi bir satır kullanabilirsiniz. Fakat ne yazık ki bu komutu Formun yüklenmesi sırasında (Form_Load) kullanamazsınız.