メインメニューを開く

差分

MonoMac/ウインドウを閉じた際にアプリを終了させる

1,662 バイト追加, 2013年11月5日 (火) 02:29
ページの作成:「Mac OS Xの世界ではウインドウを閉じてもウインドウが非表示になるだけでアプリは終了しないのが常識である。 Windows...」
[[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;
}
}
}

== 関連項目 ==
* [[MonoMac]]

== 参考文献 ==
{{reflist}}

{{stub}}
匿名利用者