我有一个mdi的程序 在子窗体里面有一个serialPort操作串口。
但是现在关闭主窗口整个程序就会卡住,于是我在子窗体的closed事件里面写了serialPort.close(),还是不行。
请各位大大帮忙解决下

解决方案 »

  1.   

    有没有dispose  应该是某个操作阻塞了
      

  2.   

    dispose窗体和控件都没有 如果先关闭子窗体在关闭父窗体就没事,如果直接关闭父窗体就会卡住
      

  3.   


    关闭窗体是不能真正释放资源的,只有把循环结束close(),Dispose()方法,虽然能释放当前窗体的资源,却不能强制结束循环System.Environment.Exit(int exitcode)方法可以终止当前进程并为基础操作系统提供指定的退出代码。
      

  4.   

    System.Environment.Exit(int exitcode)使用这个也没有 一样卡住
      

  5.   

    在主窗体的closed事件里也加上serialPort.close()
      

  6.   

    别想了。没做过串口程序的人解决不了这个问题的。我懒,早就想写个博客文章来说明这个问题了。中文没有文章介绍过这个解决方法,没有人阐述过原理,msdn英文网上也都说是不知道怎么回事的。等我写好后来这里贴链接吧。