关闭WebBrowser控件时应用程序冻结

时间:2009-06-02 15:56:00

标签: c# winforms mono webbrowser-control

我是WinForms的新手,我正在尝试使用GNU / Linux上的WebBrowser控件和Mono。它运行正常,但是当我关闭表单时,我会收到奇怪的警告,当我尝试创建另一个包含WebBrowser的表单时,应用程序会冻结。

事实上,我可以发布任意数量的浏览器,直到我关闭一个。然后,如果我创建一个新的应用程序冻结。

以下是示例代码:

 public class TestForm : Form
 {
   Button button = new Button();

   public TestForm()
   {
     button.Parent = this;
     button.Text = "Run browser";
     button.Click += button_Click;
   }

   [STAThread]
   public static void Main()
   {
     Application.Run(new TestForm());
   }

   public void button_Click(object sender, EventArgs e)
   {
     new MyBrowser("www.google.com").Show();
   }
 }

 class MyBrowser : Form
 {
   WebBrowser browser = new WebBrowser();

   public MyBrowser(string url)
   {
     browser.Parent = this;
     browser.Dock = DockStyle.Fill;
     browser.Navigate(url);
   }
 }

以下是我收到的警告:

 (essai.exe:9108): Gdk-WARNING **: GdkWindow 0x2800094 unexpectedly destroyed

 (essai.exe:9108): Gdk-WARNING **: GdkWindow 0x2800093 unexpectedly destroyed

 (essai.exe:9108): Gdk-WARNING **: GdkWindow 0x280007e unexpectedly destroyed

 (essai.exe:9108): Gdk-WARNING **: GdkWindow 0x280007d unexpectedly destroyed

 (essai.exe:9108): Gdk-WARNING **: GdkWindow 0x280001c unexpectedly destroyed

 (essai.exe:9108): Gdk-WARNING **: GdkWindow 0x280001b unexpectedly destroyed

 (essai.exe:9108): Gdk-WARNING **: GdkWindow 0x280001a unexpectedly destroyed

 (essai.exe:9108): Gdk-WARNING **: GdkWindow 0x2800016 unexpectedly destroyed

所以我的问题是:我做错了什么?这个问题可能来自Mono吗?


更新:在Windows上,如果我在[STAThread]的定义之前添加Main,它就会有效。

1 个答案:

答案 0 :(得分:1)

来自mono的WebBrowser控件存在一些已知问题。 尝试在单声道网站中找到mwf-DESIGNER。