メインメニューを開く

差分

Xamarin.Macでモーダルウインドウを作成する

591 バイト除去, 2018年8月7日 (火) 01:59
編集の要約なし
</source>
なお、NSApplication.SharedApplication.StopModalWithCodeメソッドはウインドウのモーダル化が解除されるだけでウインドウ自体は閉じない。ボタンなどを押されたときにモーダルウインドウを閉じる場合にはthis.Window.Closeを呼んでやると良いようだ。<source lang="csharp"> ModalResult _result = ModalResult.Cancel;
public override void AwakeFromNib()=== 表示してみる ===<syntaxhighlight lang="csharp"> {// ダイアログ生成 base.AwakeFromNibvar dialog = new SubWindowController(); // ----------------------------------------------------
this.Window.WillClose += (object sender, EventArgs e) => { Console.WriteLine("WillClose");// LoadWindowでawakeNibなどの初期化処理が呼ばれる NSApplication.SharedApplicationdialog.StopModalWithCode(LoadWindow(int)_result); };
// cancelButtonはInterfaceBuilderで貼付けたNSButtonウインドウを最前面にしておく(不要かもしれない) cancelButtondialog.Activated += (object sender, EventArgs e) => { ConsoleWindow.WriteLineMakeKeyAndOrderFront("cancelButton"); _result = ModalResult.Cancel; this.Window.Close(); };
// cancelButtonはInterfaceBuilderで貼付けたNSButtonモーダル表示実行 okButtonNSApplication.Activated += (object sender, EventArgs e) => { ConsoleSharedApplication.WriteLineRunModalForWindow("okButton"); _result = ModalResult.OK; thisdialog.Window.Close(); }; }</sourcesyntaxhighlight>
==関連項目==
匿名利用者