繁体   English   中英

从C#中的隐藏形式调用控件

[英]Calling controls from a hidden form in C#

我正在设计Windows窗体应用程序,其中需要从窗体A调用窗体B上命令按钮的click事件。窗体B需要始终保持隐藏状态。 在Visual Basic中这样做很简单,我只是这样称呼它:“ FormName.ControlName.Event / Method”。

现在在C#,Visual Studio 8中这对我不起作用。有人可以帮忙吗?

您需要做的就是为Form A提供对Form B的引用。大概您的应用程序中有一些启动代码可以识别这两种形式。 如果是这样,您可能会具有以下代码:

// starting up
FormB b = new FormB();
b.Visible = false;

FormA a = new FormA();
a.FormBInstance = b; // you would have to add the 'FormBInstance' property to Form A class yourself
a.Show();

// Now, if Form A needs to do something with FormB, it just needs to use the FormBInstance property.

说得通?

您不能直接从其他类引发事件,它们具有特殊的访问级别,这意味着您只能订阅/取消订阅。 您可能需要在formB上引发事件的方法。

听起来很古怪,但是引用了Form B的实例,并公开了Button控件:

b.myButton.PerformClick();

您应该在FormB上创建一个可以满足您需要的公共方法。 这样,您就无需直接调用click事件处理程序,这不是一件好事。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM