我有一个使用OpenFileDialog
和SaveFileDialog
的简单Windows窗体应用。表单有一个关闭按钮,单击该按钮会调用以下代码:
private void closeButton_Click(object sender, EventArgs e)
{
this.Dispose();
}
如果我打开表单,然后在Visual Studio 2010的调试中单击关闭,表单将关闭,我几乎立即返回到编辑模式。但是,如果我打开了OpenFileDialog或SaveFileDialog对象,并且选择了一个文件或点击取消,然后点击关闭,表单立即消失,但VS最多可能需要10秒才能返回编辑模式。 / p>
我对这些方法的代码非常简单:
private void saveDirectoryButton_Click(object sender, EventArgs e)
{
SaveFileDialog sfd = new SaveFileDialog();
try
{
String path = Path.GetDirectoryName(settings.SavePath);
if (!String.IsNullOrEmpty(saveTextBox.Text))
path = Path.GetDirectoryName(saveTextBox.Text);
sfd.InitialDirectory = path;
String name = Path.GetFileName(settings.SavePath);
if (!String.IsNullOrEmpty(saveTextBox.Text))
path = Path.GetFileName(saveTextBox.Text);
sfd.FileName = name;
}
catch { /* Don't do anything */ }
sfd.Filter = "Data File|*.dat|All Files|*.*";
DialogResult result = sfd.ShowDialog();
if (result == DialogResult.OK)
saveTextBox.Text = sfd.FileName;
}
点击“关闭”后,“输出窗口”显示以下三行:
The thread 'vshost.RunParkingWindow' (0x1b8c) has exited with code 0 (0x0).
The thread '<No Name>' (0x39c) has exited with code 0 (0x0).
The program '[6052] LogScanner.vshost.exe: Managed (v2.0.50727)' has exited with code 0 (0x0).
前两个会立即显示,第三个会在Visual Studio返回编辑模式之前弹出。
如果我打开其中一个对话框,有没有人知道为什么要花这么长时间才能返回编辑模式?
答案 0 :(得分:1)
如果您要关闭单个窗体,可以使用:
this.Close();
Environment.Exit(0);