如何处理此异常:Invalidoperation exception

时间:2009-05-20 07:06:01

标签: c#

Application.Run(form);

实际上我试图从我的项目中调用它。我得到了这个例外。怎么解决?我已经在我的项目中调用了另一个Application.Run(frmBind);

  

在单个线程上启动第二个消息循环无效   操作。改为使用Form.ShowDialog。

 static void Main(string[] args)
 {
    frmBind = new frmMain();

    Application.Run(frmBind);

    //args1 = string.Copy(args);
}

这是我最初调用应用程序的地方

现在再次在这里做到了:

try
{
   // Application.Run( form);
   form.ShowDialog();
}

抛出异常。

2 个答案:

答案 0 :(得分:7)

它告诉你如何解决它:

 form.Show();  

或者如果您希望新表单是模态的:

 form.ShowDialog();

答案 1 :(得分:4)

您只能在线程中调用Application.Run一次。 Application.Run将(除其他外)设置线程的主消息循环,并且只能有一个这样的循环。这就是你得到例外的原因。

如果您只想显示表单,请改用form.Show()form.ShowDialog()。请注意,为已经可见的表单调用ShowDialog也会抛出InvalidOperationException(但是有另一条消息)。