「Xamarin.MacでNSTextField内でリターンキーが押された際に処理をする」の版間の差分
imported>Administrator 細 Administrator がページ「Xamarin.Mac/NSTextFieldでリターンキーが押された際に処理をする」を「Xamarin.MacでNSTextField内でリターンキーが押された際に処理をする」に移動しました |
|||
| (同じ利用者による、間の4版が非表示) | |||
| 1行目: | 1行目: | ||
NSTextFieldで[[リターンキー]] | NSTextFieldで[[リターンキー]]([[エンターキー]])が押された際に処理をしたいことも多いと思う。[[キーボード]]と[[マウス]]をいったりきたりする[[UI]]とか止めてほしいと思っている人も多いはず。 | ||
[[キーボード]]と[[マウス]] | ちなみに[[Mac]]では宗教上の理由により、[[キーボード]]のメイン部分にある大きいのが[[リターンキー]]で、[[テンキー]]に付いている小さいのが[[エンターキー]]と区別するらしぞ。 | ||
== 実装1 == | |||
==実装1== | |||
リターンキーであれば何も考える必要はない。 | リターンキーであれば何も考える必要はない。 | ||
リターンキーが押されたり、フォーカスが外れたりすると以下のイベントが順番に発生する。イベント設定はどちらでもいいと思う。 | リターンキーが押されたり、フォーカスが外れたりすると以下のイベントが順番に発生する。イベント設定はどちらでもいいと思う。 | ||
| 20行目: | 18行目: | ||
</source> | </source> | ||
==実装2== | == 実装2 == | ||
実装1はフォーカスが外れた際に問答無用で処理が走ってしまい微妙に不便だったりする。たとえば[[ウェブブラウザ]]の検索窓などでは[[リターンキー]]で検索を実行し、フォーカスがはずれただけの場合は何もしないというものが多い。これに対応するにはDoCommandBySelectorを使うとどういう理由で編集を終わろうとしているかを検出できるようだ<ref>https://github.com/xamarin/mac-samples/blob/master/SearchField/SearchFieldWindowController.cs</ref>。 | 実装1はフォーカスが外れた際に問答無用で処理が走ってしまい微妙に不便だったりする。たとえば[[ウェブブラウザ]]の検索窓などでは[[リターンキー]]で検索を実行し、フォーカスがはずれただけの場合は何もしないというものが多い。これに対応するにはDoCommandBySelectorを使うとどういう理由で編集を終わろうとしているかを検出できるようだ<ref>https://github.com/xamarin/mac-samples/blob/master/SearchField/SearchFieldWindowController.cs</ref>。 | ||
| 46行目: | 44行目: | ||
</source> | </source> | ||
==関連項目== | == 関連項目 == | ||
* [[Xamarin.iOS/UIControl派生物にフォーカスを当てる]] | |||
* [[Xamarin.Mac/NSTextFieldクラス]] | |||
* [[Xamarin.Mac/NSTokenFieldクラス]] | |||
==参考文献== | == 参考文献 == | ||
{{reflist}} | {{reflist}} | ||
[[category:MonoMac]] | [[category:MonoMac]] | ||
[[category:Xamarin.Mac]] | |||