「Xamarin.Macでモーダルウインドウを作成する」の版間の差分

編集の要約なし
1行目: 1行目:
[[MonoMac]]で[[モーダルウインドウ]]を表示する。
[[MonoMac]]および[[Xamarin.Mac]]で[[モーダルウインドウ]]を表示する。


==実装例1==
==概要==
[[Mac OS X]]では一般的に[[Windows]]風の[[モーダルウインドウ]]ではなく[[シート]](親ウインドウに固定されたモーダルウィンドウ)を使うらしいが、親ウインドウを見ながら項目入力したいのとの苦情が殺到した。シートは親ウインドウがどれか明確なのでウインドウ開きすぎな環境ではいいのかもしれないが、特定業務専用機と化している[[Mac]]には向かないようだ。そのためWindows風のモーダルウインドウを実現する方法を模索している。
 
==実装1==
===戻り値の準備===
===戻り値の準備===
[[モーダルウインドウ]]の[[戻り値]]用に[[WinForms]]のDialogResult風に[[列挙体]]を用意しておくと[[可読性]]が向上する気がする。
[[モーダルウインドウ]]の[[戻り値]]用に[[WinForms]]のDialogResult風に[[列挙体]]を用意しておくと[[可読性]]が向上する気がする。
15行目: 18行目:


===親ウインドウから子ウインドウを呼び出す===
===親ウインドウから子ウインドウを呼び出す===
MonoMacで[[モーダルウインドウ]]を表示するには NSApplication.SharedApplication.RunModalForWindowメソッドを使うようだ。
[[MonoMac]]で[[モーダルウインドウ]]を表示するには NSApplication.SharedApplication.RunModalForWindowメソッドを使うようだ。
親ウインドウは勝手に認識されている?
親ウインドウは勝手に認識されている?
<source lang="csharp">
<source lang="csharp">