也许你能帮我解决问题。
我的类“Form 1”调用方法setButtons();
但是setButtons()不在类“Form 1”中,它在类“Class 1”中。
“Class 1”中的setButtons()无法识别Form 1中的Button 1。
如何让它知道Form 1中存在Button 1,并且我希望该方法对“Form 1”中的Button 1起作用?Class 1已经有一个指向Form 1的using目录,而Form 1也有一个指向Class 1的using目录。
//this does not work
public static void setbuttons()
{
Form1.Button1.Location = new Point(40, 40);
}
2条答案
按热度按时间zhte4eai1#
我发现如果在设计器文件中声明一个控件为public,如下所示
然后,您可以从另一个类访问它,条件是您获得了表单对象,例如作为扩展
从设计和程式码管理的Angular 来看,变更按钮属性的较佳方式是在表单中建立执行此作业的方法。
yeotifhr2#
请考虑使用事件,其中Class1中的方法会将Point传递至接听事件的呼叫表单,在本例中为SetButtons。
在订阅SetButtonLocation的表单中,叫用SetButtons方法,此方法会将Point传递给Form1中的呼叫者,并依序设定按钮Location。
使用这种方法比前面提到的将form的modifers更改为public要好。