2009-08-23 7 views
0

GTK#でマウスクリックで開くダイアログがあります。その中のボタンをクリックすると、ダイアログが再び閉じられます。ウィンドウ上でHide()メソッドとDestroy()メソッドの両方を呼び出す必要がありますか?ここでGTKでWindowsを破壊する#

は対話を起動するための私のコードです:

protected virtual void ConfigureDialogue (object sender, System.EventArgs e) 
{ 
    MyConfigWindow myConfWindow = new MyConfigWindow(); 
    this.Sensitive = false; 
    myConfWindow.Run(); 
    this.Sensitive = true; 
} 

そしてここでは、設定ウィンドウの関連する部分である:

public partial class MyConfigWindow : Gtk.Dialog 
{ 

    public MyConfigWindow() 
    { 
     this.Build(); 
    } 

    protected virtual void onSave (object sender, System.EventArgs e) 
    { 
     this.Hide(); 
     this.Destroy(); 
    } 
} 

私は唯一のメインウィンドウは、(再び敏感取得this.Destroy()呼び出すときしたがってmyConfWindow.Run()が終了しました)、ダイアログは引き続き表示されます。

答えて

4

あなたConfigureDialog手順で破壊するコール...助け

this.Sensitive = false; 
    result = myConfWindow.run(); 
    if (result == gtk.RESPONSE_CLOSE:) 
    myConfWindow.destroy(); 
    this.Sensitive = true; 

希望を逃します。

関連する問題