MonoMac/ウインドウが閉じる際に処理をする

提供: MonoBook
移動: 案内検索

MonoMacでウインドウ(NSWindowおよびNSWindowController)が閉じる際に何かしらの処理をしたい場合も多いと思う。

実装例1[編集]

Window.WillCloseというナイスなイベントがあるようだ。 なのでAwakeFromNibメソッド以降(一通りのウインドウ初期化が完了した時点以降)にイベント処理を追加してやればよい。 Objective-Cみたいにいちいちデリゲートクラスを書かなくて良いのは素晴らしいね。

    public partial class MainWindowController : MonoMac.AppKit.NSWindowController
    {
        // 中略
 
        public override void AwakeFromNib()
        {
            base.AwakeFromNib();
 
            this.Window.WillClose += (object sender, EventArgs e) => {
                Console.WriteLine("willClose");
            };
        }
    }

関連項目[編集]

参考文献[編集]