当我从列表中选择一个值时,ListBox:为什么半场时间也选择第一个值以及第二个事件
本文关键字:选择 时间 半场 为什么 第一个 事件 第二个 ListBox 列表 一个 | 更新日期: 2023-09-27 18:30:26
正如它在倾斜中所说:
- 有一个列表框
- 当我在
- 第一个选定值更改事件包含我单击的值
- 并且有时会有第二个 SelectedValueChanged 事件包含列表中的第 1 个值
我添加了这些代码片段:
这是我的设计器包含的内容:
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
上下文。也许可以解决这个问题。
有了这个,你知道为什么我点击一次时接到两次电话吗?
在国王的问题之后编辑:
场景是:
影响
listBox1.DataSource
呼叫SelectedValueChanged
- 发件人
listBox1_SelectedValueChanged
:{SelectedItem = "1st value"} object {System.Windows.Forms.ListBox}
- 发件人
单击
listBox1
调用中的第 3 个值两次SelectedValueChanged
- 在发件人
listBox1_SelectedValueChanged
:{SelectedItem = "3rd value"} object {System.Windows.Forms.ListBox}
- 在
listBox1_SelectedValueChanged
发件人:{SelectedItem = "1st value"} object {System.Windows.Forms.ListBox}
- 在发件人
之后仅选择第一个值
听起来您在 2 个或更多其他事件中遇到了问题,要么您正在选择第三个元素并重新加载列表框或类似的东西。 抱歉,我还没有评论权,但是您可以选择第一个然后第三个,然后选择第一个,第二次选择第一个后是否会获得双重事件?