关于daterecieve事件的两个问题

18线程序员 2017-03-25 11:06:38
我的程序里有下面一段代码
private void button1_Click(object sender, EventArgs e)

......
myport.DataReceived += new SerialDataReceivedEventHandler(check);
......

两个问题
1.串口收到数据触发对check方法的调用,那么调用check之后click事件中这行“myport.DataReceived ”代码之后的代码还会运行吗?
2.如果串口没有接收到任何数据,我想弹出一个messagebox,该如何写代码实现呢?
...全文
147 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuggzu 2017-03-26
  • 打赏
  • 举报
回复
datarecieved只是来了数据才发生,所以,在来数据前怎么可能知道到底会不会来?
xuzuning 2017-03-25
  • 打赏
  • 举报
回复
check 和 button1_Click 不是一回事 所以不存在 调用check之后click事件中这行“myport.DataReceived ”代码..... button1_Click 中的 myport.DataReceived += new SerialDataReceivedEventHandler(check); 只是订阅 SerialDataReceivedEvent 事件,表示开始监听串口
18线程序员 2017-03-25
  • 打赏
  • 举报
回复
引用 1 楼 xuggzu 的回复:
1.会 2.你怎么知道有没有收到?
那个DataReceived事件不是相当于一个判定吗?如果收到数据就转去执行check,这就说明计算机是知道串口收到了数据的啊。。 蓝牙通讯中,如果蓝牙设备没有开启,相应的串口不就收不到程序吗。。。
xuggzu 2017-03-25
  • 打赏
  • 举报
回复
1.会
2.你怎么知道有没有收到?

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧