c# – MessageBox关闭后的结束程序

前端之家收集整理的这篇文章主要介绍了c# – MessageBox关闭后的结束程序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的程序的最开始,我正在检查是否可以在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());

当我尝试放一个Application.Exit();在MessageBox命令之后,MessageBox在没有检测到设备的情况下正确显示,但是当我关闭MessageBox时,Form1仍然打开,但是完全冻结,不会让我关闭它或者单击应该给我一个错误的任何按钮无论如何,因为设备没有连接.

我只是想在显示MessageBox之后完全杀掉程序.谢谢.

解决方案:使用返回后;在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",MessageBoxIcon.Error)
    return;
}
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());

解决方法

由于这是在Main()例程中,只需返回:
try
{
    reader = new Reader("COM6");
}
catch
{
    MessageBox.Show("No Device Detected",MessageBoxIcon.Error)
    return; // Will exit the program
}

Application.EnableVisualStyles();
//... Other code here..

从Main()返回将退出该过程.

原文链接:https://www.f2er.com/csharp/97652.html

猜你在找的C#相关文章