2009-06-02 6 views
1

Je suis nouveau sur WinForms et j'essaie d'utiliser le contrôle WebBrowser sur GNU/Linux avec Mono. Il fonctionne bien, mais quand je ferme le formulaire, je reçois des avertissements étranges, et l'application se fige lorsque j'essaie de créer un autre formulaire contenant un WebBrowser.L'application se bloque lors de la fermeture du contrôle 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 bloque.

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 

Alors ma question est la suivante: ce que je fais mal? Est-il possible que le problème vient de Mono?


Mise à jour: sur Windows, il fonctionne si j'ajoute [STAThread] avant Main définition de l ».

Répondre

1

Le contrôle WebBrowser à partir de mono présente des problèmes connus. Essayez de trouver mwf-DESIGNER, en mono site.

Questions connexes