Merhaba arkadaslar;
Bu makalemizde c# programlama dilini kullanarak tus kontrollerinden bahsedecegiz. Aslinda çok elzem bir bilgi olarak görünmeyebilir fakat bazi durumlarda gerçekten hayat kurtarici olabilmekte. Öncelikle projemize “user32.dll” dosyasini import ederek baslayacagiz. Global alan olarak tanimladigimiz yerde,
[DllImport("user32.dll")]
extern static int GetKeyState(int key);
.
kodlariyla fonksiyonu modüle deklare etme islemini tamamlayarak dll dosyamizi import ediyoruz.(Bu arada name space kismina ekleme yapmak için DllImport yazdiktan sonra “Alt+Shift+F10” tuslarina basarak name space kismina daha kolay yolda ekleme yapabilirsiniz…)
Örnek olarak klavyemizin CapsLock ve Numlock tuslarinin devrede olup olmadigini kontrol edelim. Bunun için;
private void timer1_Tick(object sender, EventArgs e)
{
if (GetKeyState((int)Keys.CapsLock) == 1)
{
lblcaps.BackColor = Color.Green;
}
else
{
lblcaps.BackColor = Color.Gray;
}
}
private void timer2_Tick(object sender, EventArgs e)
{
if (GetKeyState((int)Keys.NumLock)==1)
{
lblnum.BackColor = Color.Green;
}
else
{
lblnum.BackColor = Color.Gray;
}
}
Dikkatinizi çektigi üzere kodlari timer nesnelerinin tick olaylari içine yazdik. Sebebi ise kontrolün devamliligini saglamaktir. Bu sekilde klavyemizde bulunan tuslarin hemen hemen hepsiyle alakali ayarlamalar yapabiliriz.
.
timer_Tick kullanmamiza gerek yok. Formun örnegin “Form1_ KeyDown” eventi zaten klavyeden basilacak tuslari dinlememize yariyor. Arkadasin kodlarini bu blog içine atarsak olayin sürekliligi saglanmis olur.
Burada timerin intervalina gerek yok. Çünkü Timer.Interval sadece timerin hizini ayarlar.
Merhaba,
Burada timer’in intervali ne olacak?
entresan bir fikir, tebrik ederiz