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

提供: MonoBook
< MonoMac
2015年1月29日 (木) 13:22時点における153.220.18.74 (トーク)による版
ナビゲーションに移動 検索に移動

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");
            };
        }
    }

関連項目

参考文献