0

問題- カスタム ComboBox を「オン」に設定すると、一時的に「オン」に変わりますが、その後「オフ」に切り替わることがあります。

基本的に私は方法を持っています:

void value_SelectedIndexChanged(object sender, EventArgs e)
{

   if((ComboBox)sender.Focused == true)
    {
      if(value.SelectedIndex == false) // OFF
         // set a bunch of variables for OFF
      else // ON
         // set a bunch of variables for ON
    }
}

ComboBox を "ON" に設定すると、選択した "ON" インデックスのコード パスが実行されます。しかし、その後、理由がわかりませんが、選択したインデックスが「OFF」に切り替わります。その結果、OFF 変数のコード パスが実行されます。

これを修正するために、この「value_SelectedIndexChanged」メソッドが呼び出されるたびに、送信者と EventArgs e をキャプチャするログ ステートメントを配置しました。ただし、送信者はクラスと等しく、EventArgs は System.EventArgs です。

この問題をデバッグする方法を教えてください。

4

1 に答える 1

0

コードをそのように構成する理由がよくわかりません。このようにもっと理にかなっていませんか:

void value_SelectedIndexChanged(object sender, EventArgs e)
{
  switch(value.SelectedIndex)
  {
    case 0: // OFF
       // set a bunch of variables for OFF
       break;
    case 1: // ON
       // set a bunch of variables for ON
       break;
  }
}

この問題は、「OFF に一連の変数を設定する」アクションが原因である可能性があります。ハンドラーにブレークポイントを設定し、すべてをステップ実行してテストしましたか?

于 2012-04-07T01:47:03.573 に答える