24 Nisan 2009 Cuma

DateTimePicker'da Sonraki Ay

Kullandığım DateTimePicker'ın ValueChanged event'ında bir şey yazdırmak istediğimde, bir sonraki ay anlamındaki (>) tuşa bastığımda sonsuz döngüye girerek, sürekli MessageBox çıktığını fark ettim.




Biraz araştırınca bunun bir bug olduğunu ve şu şekilde çözülebileceğini öğrendim:


private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
        this.dateTimePicker1.BeginInvoke(new MethodInvoker(ShowMessage));
}

void ShowMessage()
{
      MessageBox.Show("its sucking...");
}

Mesajı gösterme işlemini ayrı bir metot içine alarak, bu metodu dateTimePicker'ın BeginInvoke metodu içinde çağırıyoruz. BeginInvoke metodu, kontrolün asenkron olarak çalışmasını sağlıyor. Böylece sonsuz döngüden kurtulup, mesajı bir dafa göstermiş oluyoruz.

Hiç yorum yok:

Yorum Gönder