2009-03-13 8 views
1

comboBox2_SelectedIndexChangedイベントで処理を行います。特定のケースでは、SelectedIndexを元に戻してから変更する必要があります。私はsender.selectedIndexが私がvarにアクセスすることはできませんが、私が使用した最後のインデックスだと思う。どのように私はコンボボックスにw/eに戻るように指示しますか?コンボボックスを元に戻すSelectedIndex C#

答えて

2

以下のコードを参照してください。選択されたインデックスがlastIndexに設定されている場合、lastIndexを設定している場合は、選択イベントの登録を解除し、setおよびresubscribeを確実に実行します。 lastIndexをselectedIndexに設定することにより、lastIndexを毎回追跡します。

int lastIndex=0; 
    void comboBox2_SelectedIndexChanged(object sender, EventArgs e) 
    {    
     if (isItTheCase) 
     { 
      comboBox2.SelectedIndexChanged -= new EventHandler(comboBox2_SelectedIndexChanged); 
      comboBox2.SelectedIndex = lastIndex; 
      comboBox2.SelectedIndexChanged += new EventHandler(comboBox2_SelectedIndexChanged); 
     } 
     lastIndex = comboBox2.SelectedIndex; 
    } 
0

SelectedIndexChangedを複数回登録している場所を確認してください。 Initilizecomponent()メソッドに入るデザイン時にイベントを登録し、コンストラクタに登録するのが一般的です。

ありがとうございました