monomac - 单击主窗口中的按钮时如何关闭子窗口

Posted

技术标签:

【中文标题】monomac - 单击主窗口中的按钮时如何关闭子窗口【英文标题】:monomac - How to close a child windown when click a button in main window 【发布时间】:2012-04-21 09:13:58 【问题描述】:

我用 monodevelop 创建了一个 MonoMac 项目。

我在 Xcode Interface Builder 中打开了文件 MainWindow.xib。在 Interface Builder 中,我将一个新的 NSwindow 面板放入我的项目中。面板名称为:Setting_window,出口名称为:Setting_window。

在主窗口中,我有 2 个按钮:隐藏设置窗口(btn1)和显示设置窗口(btn2);

当我运行项目时,它显示 2 个窗口:主窗口和设置窗口。 单击按钮 btn1 和 btn2 时,我想隐藏和显示设置窗口。在 Windows 上的 C# 中,我使用 .show() 和 .Dispose();但是在 Monomac 上,我不知道该调用哪些方法。

这是代码:

Setting_window.Title = "my setting"; // This works as expected 
//Setting_window.??? // I want to close the settings window

【问题讨论】:

【参考方案1】:

NSWindow.Close() 不可用,因为它如何在 objc 方面释放引用,并且与 GC 配合得不好。

似乎已提交了最近的修复程序,该修复程序恢复了此方法,因此您可以以编程方式关闭窗口:

https://github.com/mono/monomac/commit/6183d93be442aec3946f19e273e4810dff291f66

【讨论】:

以上是关于monomac - 单击主窗口中的按钮时如何关闭子窗口的主要内容,如果未能解决你的问题,请参考以下文章

如何组织一个隐藏父窗口和子窗口的系统。 QT

将子控件的点击事件传递给父控件

将子控件的点击事件传递给父控件

如何正确退出 C# 应用程序?

如何关闭 WPF 中隐藏的主窗口?

如何修改jQuery mobile子菜单中的关闭按钮以进行初始打开