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