我有一个 C# 应用程序,它在启动时打开两个 GUI。其中一个 GUI 打开三个虚拟 COM 端口。我希望作为同一应用程序一部分的其他 GUI 显示在这些虚拟 COM 端口上发送的数据。无论如何要共享我在打开的主/第一个 GUI 中所做的这个 COM 端口声明。
问问题
401 次
1 回答
1
三种方式:
1) 将连接实例从 Window1 复制到 Window2。
window2.Connection = this.Connection;
2)使其连接成为公共静态成员
class Window1 : Window
{
public static SerialConnectionClass Connection { get; set; } = new SerialConnectionClass();
}
您可以像这样访问连接:
class Window2 :Window
{
...
private void func()
{
Window1.Connection.Send("");
}
}
3)制作一个静态ConnectionManager
static class ConnectionManager
{
public static SerialConnectionClass Connection { get; set; } = new SerialConnectionClass();
public static EventHandler MessageReceived;
public static void Send(string text)
{
Connection.Send(text);
}
...
}
像这样在 Window1 和 Window2 中使用它:
class Window2 :Window
{
...
private void func()
{
ConnectionManager.init("COM1");
ConnectionManager.MessageReceived += this.MessageReceived;
ConnectionManager.Send("test123");
}
}
于 2017-06-08T20:43:52.227 回答