双击列表框项目 – C#

Double click on listbox item – C#

我的列表框中有一些项目,当我双击其中一个项目时,我希望 MessageBox 显示我双击的项目的信息。例如,我单击一个项目“Item 1”,MessageBox 显示为“Item 1”文本。这是我目前的解决方案,但它 returns 项目的索引,而不是实际项目:

private void empLbx_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            int index = this.empLbx.IndexFromPoint(e.Location);
            if (index != System.Windows.Forms.ListBox.NoMatches) 
            {
                MessageBox.Show(index.ToString());
            }
        }

this 是您的表单,而不是 ListBox,您的列表框是变量 sender。所以改变你的代码:

int index = ((ListBox)sender).SelectedIndex;
if(index != -1) 
    MessageBox.Show(index.ToString());

如果未选择任何项目,或者列表框为空,索引将为 -1,因此 if(index != -1) 会同时处理两者。

试试这个:

private void empLbx_MouseDoubleClick(object sender, MouseEventArgs e)
{
    int index = this.empLbx.IndexFromPoint(e.Location);
    if (index != System.Windows.Forms.ListBox.NoMatches) 
    {
       MessageBox.Show(empLbx.SelectedItem.ToString());
    }
}