C#ListBox或DataGrid双击SELECTED项

时间:2016-02-27 14:42:13

标签: c# events listbox event-handling mouseevent

我在从列表框或DataGrid返回所选项时遇到问题。问题是,我特别希望用户双击所选项目,而不是控件上的任何其他项目(与DoubleClick事件一样)。 目前我有这个:

private void listBox1_DoubleClick(object sender, EventArgs e)
    {
        if (listBox1.SelectedItem == null) return;
        System.Console.WriteLine(listBox1.SelectedItem.ToString()); //console for testing
    }

虽然它有效但我不喜欢这样一个事实:你可以点击一次项目,然后双击控件空白处的任意位置,它将返回先前选择的项目。有没有简单的方法来改变它?

1 个答案:

答案 0 :(得分:0)

你应该得到双击事件发生的项目index from the location

int index = listBox1.IndexFromPoint(e.Location);
if (index != System.Windows.Forms.ListBox.NoMatches)
{
  System.Console.WriteLine(listBox1.SelectedItem.ToString()); //console for testing
}