在我的程序开始时,我正在检查是否可以启动与 COM6 上的设备的连接。如果找不到设备,那么我想显示一个 MessageBox 然后完全结束程序。
到目前为止,这是我在Main()
初始程序的功能中所拥有的:
try
{
reader = new Reader("COM6");
}
catch
{
MessageBox.Show("No Device Detected", MessageBoxButtons.OK, MessageBoxIcon.Error)
}
Application.EnableVisualStyles();
Application.SetCompatibleRenderingDefault(false);
Application.Run(new Form1());
当我尝试在 MessageBox 命令之后放置 aApplication.Exit();
时,当未检测到设备时,MessageBox 会正确显示,但是当我关闭 MessageBox 时,Form1 仍然打开,但完全冻结,不允许我关闭它或单击任何按钮无论如何应该给我一个错误,因为设备没有连接。
我只是想在显示 MessageBox 后完全杀死程序。谢谢。
SOLUTION:使用return;
MessageBox关闭后的方法后,程序在未插入设备时按我想要的方式退出。但是,当设备插入时,在测试后仍然存在读取问题。这是我以前没有发现的,但这是一个简单的修复。这是我的完整工作代码:
try
{
test = new Reader("COM6");
test.Dispose(); //Had to dispose so that I could connect later in the program. Simple fix.
}
catch
{
MessageBox.Show("No device was detected", MessageBoxButtons.OK, MessageBoxIcon.Error)
return;
}
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());