Geçenlerde bir windows uygulamamizda kullanim açisindan bir eksiklik oldugunu farkettim.
Uygulamada RadioButtonList üzerinden bir seçim yapilan alan var ve bu alanda seçilen maddeye göre
kullanici baska seçim yapmasi gerekebiliyor. Ilk seçimde ekran otomatik açiliyor ve beklendigi gibi
çalisiyor ama kullanici seçimde degisiklik yapmak isterse detay ekrana ulasamiyor.

Senaryo uzayip gidiyor ancak önemli olan RadioButton  double click oldugunda istedigim kodu çalistirabilmem.
Normalde windows form kontrollerinden RadioButton da DoubleClick event i yok. Ancak bunu eklemek mümkün.

MethodInfo mInfo = typeof(RadioButton).GetMethod("SetStyle", BindingFlags.Instance | BindingFlags.NonPublic);
if (mInfo != null)
{
     mInfo.Invoke(rdl, new object[] { ControlStyles.StandardClick | ControlStyles.StandardDoubleClick, true });
}

Yukaridaki kod blogu ile RadioButton a DoubleClick event ini eklemis oluyoruz. Event için örnek kod ise;

private void myRadioButton_MouseDoubleClick(object sender, MouseEventArgs e)
{
     //code here
}

Böylece istenen olay yakalanir ve istenen kod blogu çalistirilabilir.

Resimdeki mouse a gelince. Eskiden buna benzer bir mouse kullaniyordum. 
Sonradan scroll olan mouse larda çikti ama ben ilk bilgisayarimi toplarken ucuz olsun diye klavye ve mouse hayli ucuz modellerinden almistim.
Birde bunlarin altinda top vardi, zaman zaman açip içini temizlerdim..

Lazerli mouse lar benim için devrim gibiydi ve paraya kiyip almistim ilk çiktiklarinda. Lanet gelmisti o mouse altindaki topdan :)

Saglicakla kalin..

If you like this, follow my RSS channel!