0

问题- 每当我将自定义 ComboBox 设置为“ON”时,它会立即变为“ON”,但偶尔会切换为“OFF”。

基本上我有一个方法:

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 变量代码路径随后执行。

为了尝试修复它,每当调用此“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;
  }
}

问题可能是由“为关闭设置一堆变量”操作引起的。您是否通过在处理程序中设置断点然后单步执行所有内容来进行测试?

于 2012-04-07T01:47:03.573 回答