╮(╯▽╰)╭
囧了,做了一年串口通信的东西,现在还是个菜鸟,每次想实现一些稍微灵活点的功能时,都要来这里问。问题是:
我想监听一个串口的IsOpen属性的变化,比如说,本来已经打开了,然后你没关掉串口就直接拔了,造成硬插拔,这个时候,如果程序还在通信的话,要停止停止通信。这个问题可以用windows消息来触发事件去解决,不过我发现,打开串口之后,如果你把串口拔了,这个时候串口的IsOpen属性就会自动变为false,应该是.Net SerialPort类对串口做了监听了吧,我想可不能以用同样的方式监听串口的IsOpen属性,如果发生变化就自动触发一个Change事件。因为实际使用中,有些串口并不是插拔了之后能检查有没有这个串口这样来解决的,还有可能是虚拟的一个串口。它始终都是存在的。。谢谢各位看官了。

解决方案 »

  1.   


    指示另外的问题,现在是想如何监听串口IsOpen属性发送变化
      

  2.   


    如果IsOpen属性发生改变的,马上弹出一个对话框提示“串口被关闭”或者“串口已打开”
      

  3.   

    做个timer应该可以检查是否isopen吧
      

  4.   

    比较简单的方式,用timmer吧。如果你想找个事件来自动触发,既然你都做了1年了,估计你也会查找过相关的API,那没有就是没有了
      

  5.   

    觉得用timer检查isOpen比较简单方便
      

  6.   


    我的意思是很差的啦。API没看过,嘿嘿嘿。