如何将串口作为参数从一个 window 表单发送到另一个 window 表单?
How to send a serialport as a parameter from one window form to another window form?
我正在使用串口。我有两个 window 表单,我需要在这两个表单中使用 serialPort。如何将串行端口作为参数从一种形式发送到第二种形式?我的代码如下所示:
namespace SimpleSerial
{
public partial class Form1 : Form
{
Form2 pp = new Form2()
public Form1()
{
InitializeComponent();
pp.ShowDialog();
}
private void buttonStart_Click(object sender, EventArgs e)
{
serialPort1.PortName = "Com3";
serialPort1.BaudRate = 9600;
第二形式的代码:
namespace SimpleSerial
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
getAvailablePorts();
}
通过 Form2 的构造函数传递端口:
public partial class Form2 : Form
{
private readonly SerialPort Port;
public Form2(SerialPort Port)
{
InitializeComponent();
this.Port = Port;
}
}
现在您可以在 Form2 中使用端口了。
在您的 Form1 中创建 Form2 时,像这样传递端口:
public partial class Form1 : Form
{
private SerialPort Port;
public Form1()
{
InitializeComponent();
Port = new SerialPort();
Form2 pp = new Form2(Port);
pp.ShowDialog();
}
}
请注意,对象在 C# 中通过引用传递。这意味着,如果您关闭 Form1 中的端口,则 Form2 中的端口也会关闭(因为它是同一个对象)!
首先在form2
中创建参数化构造函数为
public Form2(SerialPort SP)
{
InitializeComponent();
serialPort2 = SP;
}
现在将 SerialPort
从 form1 传递到 form2 作为
Form2 frm = new Form2(serialPort1);
frm.ShowDialog();
so on form2
serialPort2
将获得 form1
serialPort1
的所有属性
我正在使用串口。我有两个 window 表单,我需要在这两个表单中使用 serialPort。如何将串行端口作为参数从一种形式发送到第二种形式?我的代码如下所示:
namespace SimpleSerial
{
public partial class Form1 : Form
{
Form2 pp = new Form2()
public Form1()
{
InitializeComponent();
pp.ShowDialog();
}
private void buttonStart_Click(object sender, EventArgs e)
{
serialPort1.PortName = "Com3";
serialPort1.BaudRate = 9600;
第二形式的代码:
namespace SimpleSerial
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
getAvailablePorts();
}
通过 Form2 的构造函数传递端口:
public partial class Form2 : Form
{
private readonly SerialPort Port;
public Form2(SerialPort Port)
{
InitializeComponent();
this.Port = Port;
}
}
现在您可以在 Form2 中使用端口了。
在您的 Form1 中创建 Form2 时,像这样传递端口:
public partial class Form1 : Form
{
private SerialPort Port;
public Form1()
{
InitializeComponent();
Port = new SerialPort();
Form2 pp = new Form2(Port);
pp.ShowDialog();
}
}
请注意,对象在 C# 中通过引用传递。这意味着,如果您关闭 Form1 中的端口,则 Form2 中的端口也会关闭(因为它是同一个对象)!
首先在form2
中创建参数化构造函数为
public Form2(SerialPort SP)
{
InitializeComponent();
serialPort2 = SP;
}
现在将 SerialPort
从 form1 传递到 form2 作为
Form2 frm = new Form2(serialPort1);
frm.ShowDialog();
so on form2
serialPort2
将获得 form1
serialPort1