我是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
,它就会有效。
答案 0 :(得分:1)
来自mono的WebBrowser控件存在一些已知问题。 尝试在单声道网站中找到mwf-DESIGNER。