在C中,有多种方法可以判断程序是否退出:
使用`Environment.Exit()`方法
`Environment.Exit(0);`:0代表正常退出程序,非0代表异常退出。
使用`Application.Exit()`方法 (仅适用于WinForm应用程序):`Application.Exit();`。
使用`return`语句
在主函数或者其中的方法中使用`return;`可以退出当前方法或者主函数。
使用`Process.Kill()`方法(强制关闭进程):
`Process.GetCurrentProcess().Kill();`。
使用`MessageBox.Show()`方法
可以显示一个提示框,然后根据用户的选择来决定是否退出程序。例如:
```csharp
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("确定要退出程序吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
e.Cancel = true; // 取消关闭操作
}
}
```
使用事件处理程序
在窗体的`FormClosing`事件中添加事件处理程序,根据用户的选择来决定是否退出程序。例如:
```csharp
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult result = MessageBox.Show("确认退出应用程序吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.No)
{
e.Cancel = true; // 取消窗体关闭操作
}
}
```
检查进程是否已经在运行
可以使用`Process.GetProcessesByName()`方法来检查进程是否已经启动,如果已启动则显示报错信息退出程序。例如:
```csharp
string strProcessName = System.Diagnostics.Process.GetCurrentProcess().ProcessName;
Process[] processCurrent = Process.GetProcessesByName(strProcessName);
if (processCurrent.Length > 1)
{
MessageBox.Show(CommonData.MSG_00009_000, UserMaintenance.LOGIN_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
```
根据你的具体需求选择合适的方法来判断程序退出。如果是在WinForm应用程序中,通常使用`Application.Exit()`或`MessageBox.Show()`方法较为方便。如果需要更复杂的进程管理,可以考虑使用`Process.Kill()`方法。