メインメニューを開く

差分

Xamarin.Mac/キーコードを取得する

1,252 バイト追加, 2015年1月30日 (金) 16:15
ページの作成:「ウインドウ上でキーコードが取得できると、スペースキーに再生・停止などを割り当てたり、ファンクションキーなどに...」
ウインドウ上でキーコードが取得できると、[[スペースキー]]に再生・停止などを割り当てたり、[[ファンクションキー]]などに[[ショートカット]]を割り当てたり、何かと捗ると思う。

==実装1==
KeyDownメソッドをオーバーライドするだけである。
<source lang="csharp">
public partial class MainWindowController : MonoMac.AppKit.NSWindowController
{
// 〜〜中略〜〜

public override void KeyDown(NSEvent theEvent)
{
base.KeyDown(theEvent);
Console.WriteLine(theEvent.KeyCode);
}
}
</source>

NSWindowControllerだけでなくNSTextFieldなどのパーツ単位でもこの手法は使える。その場合は若干面倒だが各クラスを継承してKeyDownメソッドをオーバーライドすると良いようだ。
<source lang="csharp">
public class MyTextField : MonoMac.AppKit.NSTextField
{
// 〜〜中略〜〜

public override void KeyDown(NSEvent theEvent)
{
base.KeyDown(theEvent);
Console.WriteLine(theEvent.KeyCode);
}
}
</source>

==関連項目==

==参考文献==
{{reflist}}

{{stub}}

[[category:MonoMac]]
匿名利用者