C#如何获取双击的列表框项

4

我遇到了一些关于C#的问题...

我有一个列表框,当我双击其中一项时,我想返回我双击的项的字符串。

应该怎么做呢?


在双击处理程序中检查 SelectedItem 属性。双击的项也会被选中。 - Adriano Repetti
抱歉,请问双击处理程序是什么?除了在 GUI 上双击按钮跳转到代码,我不知道如何注册事件。 - Andy
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.doubleclick.aspx你需要学习如何在WinForms中连接事件,这可能是一个太大的问题不能在stackoverflow上发布,只需搜索谷歌教程即可。 - Tobberoth
您需要进入控件的属性窗口,选择闪电图标以进入事件,然后您可以双击要添加的事件或添加现有的事件处理程序。 - Mark Hall
1个回答

7

我假设您正在使用WinForms。

如果您只需要进行单个选择,那么很容易:在双击处理程序中(请使用Google查看如何执行此操作或稍后查看),检查SelectedItem属性。被双击的项也将被选中。

void OnMouseDoubleClick(object sender, MouseEventArgs e)
{
    var list = (ListBox)sender;

    // This is your selected item
    object item = list.SelectedItem;
}

如果您正在处理多项选择,需要更仔细地检查哪个项目已被点击,因为它可能是最后一个选定的项目,您可以像这样使用IndexFromPoint()方法:

void OnMouseDoubleClick(object sender, MouseEventArgs e)
{
    var list = (ListBox)sender;

    int itemIndex = list.IndexFromPoint(e.Location);
    if (itemIndex != -1)
    {
        // This is your double clicked item
        object item = list.Items[itemIndex];
    }
}

编辑 如何添加事件处理程序?这里谷歌是你的好帮手,简要地说,你需要选择控件,打开属性页,在事件中选择 MouseDoubleClick,然后双击输入框。设计师会自动为您添加代码,但您应该先从基础知识入手...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接