Je suis nouveau dans WinForms et j'essaie d'utiliser la fonction WebBrowser
sur GNU/Linux avec Mono. Il fonctionne correctement, mais lorsque je ferme le formulaire, j'obtiens des avertissements étranges, et l'application se fige lorsque j'essaie de créer un autre formulaire contenant un contrôle de type WebBrowser
.
En fait, je peux lancer autant de navigateurs que je le souhaite, jusqu'à ce que j'en ferme un. Ensuite, si j'en crée un nouveau, l'application se fige.
Voici un exemple de code :
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);
}
}
Voici les avertissements que je reçois :
(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
Ma question est donc la suivante : qu'est-ce que je fais de travers ? Est-il possible que le problème vienne de Mono ?
Mise à jour Sous Windows, cela fonctionne si j'ajoute [STAThread]
antes de Main
La définition de l