c#从另一个void / form(eventHandler)获取控制权

时间:2015-07-19 06:21:15

标签: c# forms controls eventhandler

form1中,我创建了名为formhaslo的简单表单。 我在名为formhaslo的{​​{1}}控件中创建了 现在,我想将listBoxhaslo事件创建为MouseDoubleClick。 从listBoxhaslolistBoxhaslo获取formhaslo时遇到问题。

请看一下这段代码(请查看评论):

form1

我知道这个错误必定存在,因为我做错了但我不知道怎么做。

1 个答案:

答案 0 :(得分:0)

listBoxhaslo不存在,因为它是在第一个函数的范围内声明的,这对于事件listBoxhaslo_MouseDoubleClick的第二个函数是不可见的。为了让它工作,你需要在函数之外声明listBoxhaslo变量。你可以在最近的formhaslo之后声明它。或者另一种方法是在事件中将发件人转换为ListBox。

void listBoxhaslo_MouseDoubleClick(object sender, MouseEventArgs e)
    {
        var listBoxhaslo = (sender as ListBox);

        if (listBoxhaslo.SelectedItem != null) 
        {
            PassForBakFile = (listBoxhaslo.SelectedItem.ToString());
            formhaslo.Hide();
        }
    }

我没有尝试过代码,但我认为它会这样做。