我的Gtk#应用程序中有2个全屏窗口,主要和辅助。我有第二种形式的buttonClose,click事件处理程序必须关闭此窗口并进行一些操作:
protected void OnButtonClose_Clicked (object sender, EventArgs e)
{
//some operation
this.Dispose ();
}
但是窗户没有关闭!如果我在主窗口中使用此代码,该窗口将关闭,应用程序将终止。为什么此代码适用于主窗口而不适用于辅助窗口?如何关闭辅助窗口?
答案 0 :(得分:5)
尝试Window.Destroy()应该破坏辅助窗口的窗口。您也可以使用.Hide()隐藏它,但不确定您的意图
答案 1 :(得分:2)
经过大量研究后,我发现了对我来说似乎正常的事情。
public WhateverWindow():base (Gtk.WindowType.TopLevel) {
DeleteEvent += delegate { Application.Quit(); };
}
尝试使用您函数中的DeleteEvent += delegate { Application.Quit(); };
,看看是否有帮助。
答案 2 :(得分:1)
使用它:
protected void OnBtnCancelarClicked (object sender, EventArgs e)
{
this.Destroy ();
}
答案 3 :(得分:1)
似乎唯一可行的方法是调用:
RootWindow.Destroy();
但是,不确定这是否正确。