VB.Net在窗体重新加载时“拒绝访问端口”

VB.Net在窗体重新加载时“拒绝访问端口”,.net,vb.net,port,.net,Vb.net,Port,我正在为一个项目开发一个小应用程序,它通过串口与微控制器通信。无论如何,在该应用程序中,我需要使用form1\u load在某一点重新加载表单。在调用form_load之前,我调用port.close和port.dispose函数 Port.Dispose() Port.Close() Form1_Load(sender, New System.EventArgs) 但是,如果我在重新加载表单后尝试访问端口,应用程序会崩溃,错误是访问端口被拒绝。是否有人告诉我如何在表单重新加载之前释放端口,以

我正在为一个项目开发一个小应用程序,它通过串口与微控制器通信。无论如何,在该应用程序中,我需要使用form1\u load在某一点重新加载表单。在调用form_load之前,我调用port.close和port.dispose函数

Port.Dispose()
Port.Close()
Form1_Load(sender, New System.EventArgs)
但是,如果我在重新加载表单后尝试访问端口,应用程序会崩溃,错误是访问端口被拒绝。是否有人告诉我如何在表单重新加载之前释放端口,以便应用程序不会与已打开的端口冲突?先谢谢你


注意:这是一项功能的一部分,用于存储从电脑上拔下与COM端口对应的电缆时发送的任何数据,并在将电缆重新插入电脑后发送保存的数据。因此,在重新连接电缆后尝试访问COM端口之前,我需要给它一些时间吗?

我不知道端口是什么类型,但首先调用close,然后DisposeA worker线程需要退出才能再次使用端口,这需要时间。只是不要关闭端口。实际上并不是在重新加载表单,只是出于某种原因再次在加载事件处理程序中运行代码。因此,只需在构造函数中打开端口,而不是Sub New,以获得一个简单的解决方法。@Steve。谢谢端口类型为SerialPort。“先关闭然后再处理不起作用。”汉帕桑谢谢你的回复。我去查一下。如果有帮助的话,我已经在OP中添加了更多的细节。