当我创建一个新项目时,我对未处理的异常会有一个奇怪的行为.这就是我可以重现问题的方法:
1)创建一个新的Windows窗体应用程序(C#,. NET Framework 4,VS2010)
2)将以下代码添加到Form1_Load
处理程序:
int vara = 5, varb = 0;
int varc = vara / varb;
int vard = 7;
Run Code Online (Sandbox Code Playgroud)
我希望VS中断并在第二行显示未处理的异常消息.但是,会发生的是第三行只是跳过而没有任何消息,应用程序一直在运行.
我现有的C#项目没有这个问题.所以我想我的新项目是用一些奇怪的默认设置创建的.
有没有人知道我的项目有什么问题?
我试过检查Debug-> Exceptions中的方框.但即使我在try-catch
块中处理异常,执行也会中断; 这也不是我想要的.如果我没记错的话,在这个对话框中有一个名为"未处理的异常"的列或者类似的东西,这会让我感到非常兴奋.但在我的项目中只有一列("Thrown").
我有一个我不想在任务栏中显示的应用程序.当应用程序最小化时,它最小化到SysTray.
问题是,当我将ShowInTaskbar = false
最小化的应用程序设置在任务栏上方时,只需使用Windows 7启动按钮即可.如果我设置ShowInTaskbar = true
应用程序最小化,但显然应用程序显示在任务栏中.
知道为什么会发生这种情况以及如何解决这个问题吗?
编辑:为了清楚起见,这里是我正在使用的代码:
private void Form1_Resize(object sender, EventArgs e)
{
if (WindowState == FormWindowState.Minimized) {
this.Hide();
this.Visible = false;
notifyIcon1.Visible = true;
}
else
{
notifyIcon1.Visible = false;
}
}
private void btnDisable_Click(object sender, EventArgs e)
{
// Minimize to the tray
notifyIcon1.Visible = true;
WindowState = FormWindowState.Minimized; // Minimize the form
}
Run Code Online (Sandbox Code Playgroud)