「MonoMac/ウインドウを閉じた際にアプリを終了させる」の版間の差分
< MonoMac
ナビゲーションに移動
検索に移動
imported>Administrator |
(相違点なし)
|
2013年11月5日 (火) 02:29時点における版
Mac OS Xの世界ではウインドウを閉じてもウインドウが非表示になるだけでアプリは終了しないのが常識である。
Windowsから来た人には理解しがたい点である。 ならばウインドウを閉じたらアプリを終了するようにしてみよう。
方法
- 「AppDelegate.csファイル」を開く。プロジェクト作成時に自動生成されているはずである。
- 「ApplicationShouldTerminateAfterLastWindowClosedメソッド」をオーバーライドする。
- 戻り値を「true」にする。
<source lang="csharp"> using System; using System.Drawing; using MonoMac.Foundation; using MonoMac.AppKit; using MonoMac.ObjCRuntime;
namespace TestApp {
public partial class AppDelegate : NSApplicationDelegate { MainWindowController mainWindowController;
public AppDelegate() { }
public override void FinishedLaunching(NSObject notification) { mainWindowController = new MainWindowController(); mainWindowController.Window.MakeKeyAndOrderFront(this); }
// オーバーライドする // メソッド名が長いので「override」と打ち込んでインテリセンスから選択するのがタイポも発生しなくてよい。 public override bool ApplicationShouldTerminateAfterLastWindowClosed(NSApplication sender) { // trueを返すとウインドウを閉じるとアプリが終了するようになる return true; } }
}