我设置了一个要显示的保存文件对话框,但是当我单击它时,它会消失在背景中,没有选项卡或任何东西。我的问题是如何使对话框模态化?如果您不知道我的意思,请进入记事本点击另存为并尝试单击关闭对话框。您将看到窗口闪烁,并且您会听到美妙的声音,通知您必须先在对话框中执行某项操作,然后再执行其他操作。我想用我的对话来达到这个效果,但我不知道怎么做。我不能简单地使用Form.Modal属性,因为它处理表单并且这不是表单。有人可以帮我吗?
谢谢。
编辑:
这就是我显示对话框的方式,它在 XNA 中运行,当我单击另存为按钮时,该EntrySelected()
方法被调用:
private void EntrySelected(object sender, EventArgs e) {
if(sender == saveAsEntry) {
sfd = new SaveFileDialog();
thread = new Thread(ShowSaveDialog);
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
}
...
}
private void ShowSaveDialog() {
if(sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK) {
World.Save(sfd.FileName);
thread.Abort();
}
else {
thread.Abort();
}
}