关闭所有表单后退出应用程序

时间:2012-09-02 00:53:51

标签: c# monodevelop gtk#

我希望在我的Gtk#应用程序中有很多表单。我想在用户关闭所有表单时退出应用程序。我尝试使用下一个代码:

    protected void OnDeleteEvent (object sender, DeleteEventArgs a)
{
    /*Application.Quit ();
    a.RetVal = true;*/


    if(System.Windows.Forms.Application.OpenForms.Count==0)
    {
        Gtk.Application.Quit ();
        a.RetVal = true;
    }
}

但无论打开表单的数量(OS Ubuntu 12.04),System.Windows.Forms.Application.OpenForms.Count都会返回“0”。如何解决这个问题并获得开放表格的实际数量? 提前致谢

1 个答案:

答案 0 :(得分:0)

也试图找到该问题的答案 我目前的实现是基于我在MS Visual Studio文档中看到的一些概念:
在项目的主类中维护一个打开窗口的静态列表 不要使用删除事件但是GTK#窗口的destroy事件(OnDelete事件处理程序有些东西不起作用,如果我没记错的话,成员函数不能直接调用windows delete)。
在OnDestoy事件处理程序中:当窗口被销毁时,将其从静态列表中删除。然后检查列表是否为空,然后退出应用程序 不确定这是否真的适合GTK#windows,但在我的应用程序中这个概念有效 至于
哈拉尔德