質問

私は、マウスのクリックによって開かれますGTK#での対話を持ち、その中にボタンをクリックした後、ダイアログが再び閉鎖されなければなりません。私は、ウィンドウ上)(両方の方法は、(非表示)コールと破壊する必要がありますか?

ここでの対話を起動するための私のコードは次のとおりです。

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 ()が終了した)再び敏感取得しますが、対話がまだ見えてます。

役に立ちましたか?

解決

あなたはConfigureDialog手順で呼び出しを破壊行方不明...

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

お役に立てば幸いです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top