「Xamarin.Macでモーダルウインドウを作成する」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
41行目: | 41行目: | ||
</source> | </source> | ||
− | なお、NSApplication.SharedApplication.StopModalWithCodeメソッドはウインドウのモーダル化が解除されるだけでウインドウ自体は閉じない。ボタンなどを押されたときにモーダルウインドウを閉じる場合にはthis.Window.Closeを呼んでやると良いようだ。 | + | なお、NSApplication.SharedApplication.StopModalWithCodeメソッドはウインドウのモーダル化が解除されるだけでウインドウ自体は閉じない。ボタンなどを押されたときにモーダルウインドウを閉じる場合にはthis.Window.Closeを呼んでやると良いようだ。<source lang="csharp"> |
+ | ModalResult _result = ModalResult.Cancel; | ||
− | + | public override void AwakeFromNib() | |
− | + | { | |
− | + | base.AwakeFromNib(); | |
− | + | // ---------------------------------------------------- | |
− | + | this.Window.WillClose += (object sender, EventArgs e) => { | |
− | + | Console.WriteLine("WillClose"); | |
+ | NSApplication.SharedApplication.StopModalWithCode((int)_result); | ||
+ | }; | ||
− | // | + | // cancelButtonはInterfaceBuilderで貼付けたNSButton |
− | + | cancelButton.Activated += (object sender, EventArgs e) => { | |
+ | Console.WriteLine("cancelButton"); | ||
+ | _result = ModalResult.Cancel; | ||
+ | this.Window.Close(); | ||
+ | }; | ||
− | // | + | // cancelButtonはInterfaceBuilderで貼付けたNSButton |
− | + | okButton.Activated += (object sender, EventArgs e) => { | |
− | + | Console.WriteLine("okButton"); | |
− | </ | + | _result = ModalResult.OK; |
+ | this.Window.Close(); | ||
+ | }; | ||
+ | } | ||
+ | </source> | ||
==関連項目== | ==関連項目== |