C# 如何从对话框结果| C打开新表单#
我正在OnChanged()中使用对话框结果(FileSystemWatcher),如下所示:C# 如何从对话框结果| C打开新表单#,c#,winforms,C#,Winforms,我正在OnChanged()中使用对话框结果(FileSystemWatcher),如下所示: if (dialogResult == DialogResult.Yes) { new Form2().Show(); } 但当我点击“是”按钮时,新表单将被打开为“已挂起”(无响应),请告知 是这样做的: var frm = new Form2() if (frm.ShowDialog()==DialogResult.Yes) { //write your code here
if (dialogResult == DialogResult.Yes)
{
new Form2().Show();
}
但当我点击“是”按钮时,新表单将被打开为“已挂起”(无响应),请告知 是这样做的:
var frm = new Form2()
if (frm.ShowDialog()==DialogResult.Yes)
{
//write your code here
}
对于OnChange,必须按如下方式调用任何GUI:
Form2 frm=new Form2;
frm.Show();
frm.Hide();
if (dialogResult == DialogResult.Yes)
{
// For calling a GUI For inside thread On FileSystemWatcher using Invoke
frm.Invoke((MethodInvoker)delegate {
frm.Show();
});
if(dialogResult==dialogResult.Yes)
{
新表单2().ShowDialog();
}
您能在这里再显示一些代码吗?不要这样做。曾经您可以设置,但决不能以这种方式阻止FSW处理程序。曾经将该代码移到其他地方(在UI线程上调用另一个例程,了解您可能会使用模式窗口将其淹没);除了与代码内联的注释外,通过解释您的答案如何解决问题,添加一些上下文。