我正在开发一款应用程序,需要随着时间的推移关闭并打开不同的winforms。我遇到了一个问题,我怎样才能传递一个变量,在这种情况下是一个以初始形式打开的SerialPort?
表格从Program.cs打开
Application.Run(new Auth());
Application.Run(new Main());
Auth.cs代码包括:
SerialPort RCU = new SerialPort();
RCU.PortName = textbox.Text; //Port name is get from user input
我想以另一种形式“Main”使用此端口。
有可能这样做吗?
由于
答案 0 :(得分:1)
只需在Auth
构造函数中询问Main
对象,然后按该顺序初始化它们:
Auth auth = new Auth();
Main main = new Main(auth);
Application.Run(auth);
Application.Run(main);
然后在Main
中,您可以保存该对象并在设置后获取属性:
public Main(Auth auth)
{
AuthWindow = auth;
}
public Auth AuthWindow {get; set;}
// later..
AuthWindow.RCU
请注意,两个Application.Run
调用不是您想要的方式,只需创建一个新的Auth
表单并在主表单加载时显示它。