2012-04-26 22 views
0

Items.Add()またはItems.AddRange()呼び出しを実行すると、-1に設定されている場合、SelectedIndexを自動的に0に設定できますか?ComboBoxに自動的にSelectedIndexを設定します。

私の最初の推測は、Itemsプロパティの変更をリッスンする新しいイベントを作成することです。

+4

Items.Add()の後にComboBox.SelectedIndex = 0を入れないのはなぜですか?あなたの状況はどうですか? – Nick

+0

非常に多くの場所でやるのは面倒です。 – MarkP

答えて

1

もし私がAddの後にSelectedIndex = 0を設定したくないのであれば(個人的にはあまりに面倒だと思っていませんが、それぞれの人に)、あなたはこれを行うカスタムコントロールを作成することができます。ただし、アイテムが追加されたときにイベントが発生しないため、新しいメソッドを作成する必要があります。

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

最終的には、これはやり過ぎのビットのように思えるが、それはこの方法でなんとかです。

関連する問題