Han*_*pen 5 c# listbox double-click listboxitem winforms
我在双击ListBox中的项目时尝试做某事.我找到了这样做的代码
void listBox1_MouseDoubleClick(object sender, MouseEventArgs e)
{
int index = this.listBox1.IndexFromPoint(e.Location);
if (index != System.Windows.Forms.ListBox.NoMatches)
{
MessageBox.Show(index.ToString());
//do your stuff here
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我单击某个项目时,不会触发该事件.如果我在所有项目下方的ListBox中单击,则会触发该事件.
我设置了ListBoxto 的DataSource属性IList<MyObject>.
有任何想法吗?
尝试使用带有MouseDown和DoubleClick事件的ListBox创建表单.据我所知,唯一的情况是,当DoubleClick不会触发时,如果在MouseDown中调用MessageBox.Show(...).在其他情况下,它工作正常.
还有一件事,我不确定,如果它很重要,但无论如何.当然,您可以像这样获取项目的索引:
int index = this.listBox1.IndexFromPoint(e.Location);
Run Code Online (Sandbox Code Playgroud)
但这种方式也很好:
if (listBox1.SelectedItem != null)
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14045 次 |
| 最近记录: |