Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在列表框上双击“打开新表单”_C#_Windows_Winforms - Fatal编程技术网

C# 在列表框上双击“打开新表单”

C# 在列表框上双击“打开新表单”,c#,windows,winforms,C#,Windows,Winforms,Im使用windowsForms c有一个与数据项绑定的列表框…因此,根据双击列表框项,我希望打开相应的表单…adv列表框中的thnx有一个双击事件。如果在“属性”窗口中选择“对象”“打开事件”选项卡,则可以访问它 双击它,Visual Studio将为您创建一个事件处理程序,如下所示: public void ListBox1_OnDoubleClick(object sender, EventArgs e) { // here is your code } 现在,您只需要输入您的代

Im使用windowsForms c有一个与数据项绑定的列表框…因此,根据双击列表框项,我希望打开相应的表单…adv

列表框中的thnx有一个双击事件。如果在“属性”窗口中选择“对象”“打开事件”选项卡,则可以访问它

双击它,Visual Studio将为您创建一个事件处理程序,如下所示:

public void ListBox1_OnDoubleClick(object sender, EventArgs e)
{
    // here is your code
}
现在,您只需要输入您的代码。 如果要打开包含相应项的表单,则它将类似于:

public void ListBox1_OnDoubleClick(object sender, EventArgs e)
{
    string text = listBox1.Text; // Don't forget to manipulate with it

    Form1 form = new Form1();
    form.Show();
}
订阅列表框上的双击事件


我将使用MouseDoubleClick事件,它在MouseEventArgs中提供光标位置,以便您可以轻松地检测双击的项目

void Listbox1_MouseDoubleClick(object sender, MouseEventArgs e)
{     
        int index = Listbox1.IndexFromPoint(e.Location);
        if (index != ListBox.NoMatches)
        {
          object clickedItem = Listbox1.Items[index];
          // open your form here
        }                
}

到目前为止你尝试了什么?我不知道如何继续,所以需要一些帮助,但我们需要一些背景。当你说对应的形式时,你如何识别它?你有表格数组吗?这些表单有标识符吗?没有,我没有创建表单数组…我刚刚创建了表单…从数据集我知道必须打开哪个表单…数据集名称和我创建的表单具有相同的名称
listBox1.DoubleClick += (s,e) => { /*logic here */}; 
void Listbox1_MouseDoubleClick(object sender, MouseEventArgs e)
{     
        int index = Listbox1.IndexFromPoint(e.Location);
        if (index != ListBox.NoMatches)
        {
          object clickedItem = Listbox1.Items[index];
          // open your form here
        }                
}