当选择某个项目时,ListBox是否正常触发DoubleClick事件处理程序方法两次?有好几天我试图找出导致这种情况的原因并且似乎无法隔离任何导致Listbox两次触发事件处理程序方法的问题并开始相信这可能只是正常响应。有没有人对此问题有任何经验或提供任何见解?
...
listBox1.Items.Clear();
listBox1.DoubleClick += filteredAlbum_DoubleClick;
foreach (XmlNode node in replyNode.ChildNodes)
{
listBox1.Items.Add(node.ChildNodes[0].Value); }
}
listBox1.SelectedIndex = 0;
...
private void filteredAlbum_DoubleClick(object sender, EventArgs e)
{
var selectedItem = listBox1.SelectedItem.ToString();
MessageBox.Show(ActiveFilter + " = " + selectedItem);
}
谢谢, 比尔
答案 0 :(得分:2)
我猜你要两次添加你的listBox1.DoubleClick
处理程序。
每个事件处理程序将被调用一次,即使这实际上是多次添加相同的处理程序。清除列表框不会清除以前绑定的处理程序。