当我从列表中选择一个值时,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

    1. 发件人listBox1_SelectedValueChanged{SelectedItem = "1st value"} object {System.Windows.Forms.ListBox}
  • 单击listBox1调用中的第 3 个值两次SelectedValueChanged

    1. 在发件人listBox1_SelectedValueChanged{SelectedItem = "3rd value"} object {System.Windows.Forms.ListBox}
    2. listBox1_SelectedValueChanged发件人:{SelectedItem = "1st value"} object {System.Windows.Forms.ListBox}
  • 之后仅选择第一个值

当我从列表中选择一个值时,ListBox:为什么半场时间也选择第一个值以及第二个事件

听起来您在 2 个或更多其他事件中遇到了问题,要么您正在选择第三个元素并重新加载列表框或类似的东西。 抱歉,我还没有评论权,但是您可以选择第一个然后第三个,然后选择第一个,第二次选择第一个后是否会获得双重事件?