C# 将对象传递给Windows窗体事件处理程序
我搜索了几个小时,但似乎找不到答案。我觉得好像有一个简单的答案,我只是用头撞墙,试图找到它C# 将对象传递给Windows窗体事件处理程序,c#,C#,我搜索了几个小时,但似乎找不到答案。我觉得好像有一个简单的答案,我只是用头撞墙,试图找到它 private void Form1_Load(object sender, EventArgs e) { ......bunch of code here... GroupBoxController GBControl = new GroupBoxController(groupbox1); } private void nextbutton_Click(object send
private void Form1_Load(object sender, EventArgs e)
{
......bunch of code here...
GroupBoxController GBControl = new GroupBoxController(groupbox1);
}
private void nextbutton_Click(object sender, EventArgs e)
{
.....I want to be able to access GBControl and modify in here ..........
}
感谢您提供的任何可能解决此问题的答案
private GroupBoxController GBControl;
private void Form1_Load(object sender, EventArgs e)
{
......bunch of code here...
GBControl = new GroupBoxController(groupbox1);
}
private void nextbutton_Click(object sender, EventArgs e)
{
GBControl.Whatever();
}
试试上面的方法
一般的想法是GBControl现在在类的所有成员的范围内。在此之前,它作为局部变量存在于Form_Load事件处理程序中,这使得它在函数外部无法访问 如果您想从
nextButton\u Click
访问GBControl
,那么为什么要在Form1\u Load
中声明并分配它?将GBControl
作为表单类的字段,而不是Load方法的局部变量。这里的问题是范围。了解变量的范围@TGH通过更广泛地定义GBControl
的作用域来解决这个问题,因此这两种方法都可以访问它。我需要能够在多个事件中访问GBControl,而不仅仅是一个事件。嗯,我在它上调用了一些其他方法FormLoad事件。哇,非常感谢!我曾尝试过类似的方法,声明做了类似于您所做的事情,但我在Load方法之外创建了一个对象实例。这非常有效,非常感谢!