2016-04-14 19 views

cevap

5

DropDownList, denetimi WinForms numaralı telefondan Focused numaralı telefona sahip olmadığından, o kadar kolay değildir. Tek yol, özel bayrak eklemektir ve SelectedIndex özelliğini değiştirmeden önce değerini değiştirmektir. olay işleyicisi İçerisinde bu bayrak için kontrol edebilirsiniz ve değerini sıfırlamak: programlayarak sonra seçimi değişen

isAutoFired = true; 
cbo.SelectedIndex = placering; 


private void cbo_SelectedIndexChanged(object sender, EventArgs e) 
{  
    if(!isAutoFired) 
    { 
     // event is fired by user 
    } 

    isAutoFired = false; 
} 
+0

Teşekkürler, sadece aradığım şey! – Moelbeck

1

Haklısınız önce kodu olay işleyicisi kaldırmak olabilir: kodunda bir yerde Sonra

private volatile bool isAutoFired = false; 

Daha sonra tekrar ekle. Bu benim favori yaklaşımım. Bayraklara gerek yok.

cbo.SelectedIndexChanged -= cbo_SelectedIndexChanged; 
cbo.SelectedIndex = 1 // or what you do to change the index 
cbo.SelectedIndexCHanged += new EventHandler(cbo_SelectedIndexChanged); 
İlgili konular