调用 activex 控件问题,请教

色郎中 色郎中 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
网上找的的例子,把其中关于串口的 activex 给扒出来用

在窗体上增加了两个串口的activex,名字分别为:netRs2321和netRs2322

按下面的代码调用,两个串口都正常...


//声明:
public event LeafEvent.DataSendHandler ComEventDataSend;


//From1内部分代码:

public Form1()
{
...
netRs2321.DataReceived += new LeafEvent.DataReceivedHandler(this.Configer_DataReceived);
netRs2322.DataReceived += new LeafEvent.DataReceivedHandler(this.Configer_DataReceived);
...}

//在同一个控件上,显示COM1 和COM2 返回的数据:

private void Configer_DataReceived(object sender, byte[] data)
{
tabDataReceive1.AddData(sender.ToString(), data);
dataCounter1.PlusReceive(data.Length);
hostString = sender.ToString();
}


//COM1 发送命令
private void ComSend_Click(object sender, EventArgs e)
{
//点击了发送按钮
if (ComEventDataSend != null)
{
byte[] data = { 0x40, 0x06, 0x0EE, 0x01, 0x00, 0x00, 0x00, 0xcb };
ComEventDataSend(data);
dataCounter1.PlusSend(data.Length);
}
}
//COM2 发送命令
private void button2_Click(object sender, EventArgs e)
{
//点击了发送按钮
if (ComEventDataSend != null)
{
byte[] data = { 0x40, 0x06, 0x0EE, 0x01, 0x00, 0x00, 0x00, 0xcb };
ComEventDataSend(data);
dataCounter1.PlusSend(data.Length);
}

}


发现这样很不好,希望能动态实现增加 串口 activex,大概这样
1、 窗体上增加一个菜单或按钮之类的,弹出 串口 activex界面,选择一个COM 口,并正确打开后,该界面消失,在窗体用一个树形控件,包含复选框,显示打开的COM个数,比如COM1 一个子项,COM2一个子项。
2、树形控件上,打开多个COM时 ,可以对被勾选的COM完成,命令交互操作。



如果像上图这样,当操作的串口多时,界面根本放不下...., 希望打开一个串口后,就在左边树上加一个串口。

发现要实现上述的效果,不知道,如何调用串口 activex?


...全文
评论 2
收藏 已收藏
分享
返回顶部
色郎中
C# 111,129 成员 642,540 内容