2012-04-26 97 views
0

通過做一個Items.Add()或Items.AddRange()調用,有沒有辦法將SelectedIndex自動設置爲0,如果它被設置爲-1?當填充時在組合框上自動設置SelectedIndex

我的第一個猜測是創建一個新的事件來監聽Items屬性的變化。

+4

爲什麼不在Items.Add()之後放置ComboBox.SelectedIndex = 0?你的情況如何? – Nick 2012-04-26 02:02:44

+0

在這麼多地方做這件事相當繁瑣。 – MarkP 2012-04-26 02:23:49

回答

1

如果你不願意在Add之後設置SelectedIndex = 0(我個人認爲這不是太繁瑣......但是對於他們自己),那麼你可以嘗試創建一個自定義控件來爲你做這件事。但是,添加項目時不存在任何事件,因此您必須創建一個新方法。

public class MyComboBox: ComboBox 
{ 
    public void AddItem(object item) 
    { 
     base.Items.Add(item); 
     if (SelectedIndex == -1) 
      SelectedIndex = 0; 
    } 
} 

最終,這似乎有點矯枉過正,但它是可行的。