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

时间:2013-09-06 03:10:24

标签: c# winforms user-controls listbox

正如倾斜所说:

  • 有一个ListBox
  • 当我在
  • 中选择一个值时
  • 第一个 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

    1. 位于listBox1_SelectedValueChanged 发件人: {SelectedItem = "1st value"} object {System.Windows.Forms.ListBox}
  • 点击listBox1次来电话中的第三个​​值两次SelectedValueChanged

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

1 个答案:

答案 0 :(得分:0)

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