メインメニューを開く

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

< MonoMac

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

関連項目編集

参考文献編集