正如它在倾斜中所说:
- 有一个列表框
- 当我在
- 第一个SelectedValueChanged事件包含我点击的值
- 有时会有第二个SelectedValueChanged事件包含列表中的第一个值
我发现它添加了这些代码:
这是我的设计师包含的内容:
this.listBox1.SelectedValueChanged +=
new System.EventHandler(this.listBox1_SelectedValueChanged);
这是我的课程包含的内容:
public class myControl : UserControl
{
private void listBox1_SelectedValueChanged(object sender, EventArgs e)
{
StackTrace st = new StackTrace(true);
} /// I put breakpoint that line to look at st
}
我看不到第二个事件在哪里被触发。在堆栈中有大量的系统代码,没有什么与我自己的代码非常相关。但我可以根据需要在这里过去。
我唯一没有真正掌握的是UserControl
上下文。也许可以围绕这个做点什么。
有了这个,你知道为什么我点击一次时会接到两次电话吗?
在King King的问题后编辑:
场景是:
影响
listBox1.DataSource
通话SelectedValueChanged
- 在
listBox1_SelectedValueChanged
发件人中:{SelectedItem = "1st value"} object {System.Windows.Forms.ListBox}
- 在
在通话中点击第三个值
listBox1
两次SelectedValueChanged
- 在
listBox1_SelectedValueChanged
发件人中:{SelectedItem = "3rd value"} object {System.Windows.Forms.ListBox}
- 在
listBox1_SelectedValueChanged
发件人中:{SelectedItem = "1st value"} object {System.Windows.Forms.ListBox}
- 在
之后只选择第一个值