- PR -

ファンクションキーのユーザーコントロール

1
投稿者投稿内容
めだか
大ベテラン
会議室デビュー日: 2004/11/11
投稿数: 109
投稿日時: 2004-12-03 09:58
あるプロジェクトで全てのプログラムでファンクションキーを使うので
オブジェクト化しユーザーコントロールにしたいと思っています。

Panelコントロールの上にLabelを置いて、Clickの検出はLabelのOnMouseDownとUpを
オーバーライドする事でできたのですが、キーボードのF1-F12押下がProcessKeyPreview
をオーバーライドしても検出できません。

ユーザーコントロールを置く親フォームのProcessKeyPreviewでは問題なく検出されます
ユーザーコントロール自身でキーボードのF1-F12を処理したいのですが不可能なのでしょうか?

キーボードイベントだけFormで処理しちゃうと半端なラッピングになってしまいますし
悩んでます。
あとButtonでなくLabelを使うのはマウスクリック時にフォーカスが移るのを防ぐためです。
OnEnter、OnGotFocus、OnClick等試しましたがフォーカス移動しないButtonというのは
作成できませんでした。

事務系プログラムではPFキーの処理はよく使うと思うのですが皆さんどうされているのでしょうか?
いいアイデアございましたらご教授くださいませ。
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2004-12-03 12:53
KeyDownイベントなら、ファンクションキーを拾えるのではないでしょうか
にしざき
ぬし
会議室デビュー日: 2003/06/30
投稿数: 304
投稿日時: 2004-12-03 13:02
引用:

かずくんさんの書き込み (2004-12-03 12:53) より:
KeyDownイベントなら、ファンクションキーを拾えるのではないでしょうか


フォーカスがないコントロールで拾おうとしているようなので、(予想が正しければ)KeyDown はこないでしょう。
Form.KeyDown イベントにバインドして処理するのがいいと思いますが。
1

スキルアップ/キャリアアップ(JOB@IT)