关闭时将变量从表单传递给其他变量

时间:2017-04-07 14:59:49

标签: c#

我正在开发一款应用程序,需要随着时间的推移关闭并打开不同的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”使用此端口。

有可能这样做吗?

由于

1 个答案:

答案 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表单并在主表单加载时显示它。