C#串口通讯。主窗口中添加了个串口控件,mySerialPort mysp,在主窗口LOAD的时候初始化,并打开了串口。

在菜单栏的“串口设置"CLICK之后NEW了一个SET窗口,在这个窗口下,调用了mysp的closeport(关闭串口)函数,却无法将串口关闭(在主窗口调用是可以实现关闭... 在菜单栏的“串口设置" CLICK之后NEW了一个SET窗口,在这个窗口下,调用了mysp的closeport(关闭串口)函数,却无法将串口关闭(在主窗口调用是可以实现关闭的),请问这里具体要如何实现。其实我也就是在SET窗口完成新的端口号和波特率设置,并重新给主窗口的mysp赋值并重启串口。请给我个具体的实现思路,谢谢。(在同一个窗口下我就能实现,跨窗口不知道怎么弄) 展开
 我来答
风之小A
2011-08-09 · TA获得超过791个赞
知道小有建树答主
回答量:662
采纳率:100%
帮助的人:543万
展开全部
我刚才特意写了个demo进行测试,你所说的这种要求是完全可以的.
我把一些关键部分的代码贴出来好了.
//-------------------------------------------------------------
//窗体1有serialPort1对象.
//按钮点击事件函数
private void button2_Click(object sender, EventArgs e)
{
serialPort1.BaudRate = 9600;
serialPort1.Parity = System.IO.Ports.Parity.None;
serialPort1.PortName = "COM1";
serialPort1.Open();
}
//打开form2的函数
private void button1_Click(object sender, EventArgs e)
{
using (Form2 form2 =new Form2 ())
{
form2.serialport = serialPort1;
form2.ShowDialog();
}
}
//form2里的关键代码
public SerialPort serialport { get; set; }
//点击form2中的按钮后关闭串口对象
private void button1_Click(object sender, EventArgs e)
{
serialport.Close();
this.DialogResult = System.Windows.Forms.DialogResult.OK;
}
追问
public SerialPort serialport { get; set; } 我完全照您的代码弄的,这句话报错, SerialPort 是什么东东?要添加控件?这里报错,以至于后面的 serialport无法使用。是不是要在每个窗口里面添加一个串口控件呀,还是?
追答
SerialPort 不就是dotnet自带的串口通信组件么.在工具栏里都能拖出来的.
定义SerialPort 属性要引用 using System.IO.Ports;
七终多E
2011-08-09 · TA获得超过1.4万个赞
知道大有可为答主
回答量:3756
采纳率:46%
帮助的人:3503万
展开全部
把第一个界面的串口控件 当成参数传给 你的第二个窗体就可以了 你可以通过修改第二个窗体的构造函数 实现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
独世牧狼
2012-08-23
知道答主
回答量:16
采纳率:0%
帮助的人:2.4万
展开全部
楼主我碰到跟你一样的问题,你是怎么解决的啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式