- PR -

C# ProcessKeyPreviewの質問

1
投稿者投稿内容
じぇね
会議室デビュー日: 2005/09/13
投稿数: 13
お住まい・勤務地: 豊中市と枚方市を足して2で割る
投稿日時: 2005-09-14 15:21
初めまして

目的:
ショートカットキーを作成したい(デザイン上における、全てのオブジェクト共通のショートカットキーを作成)

その為に
ProcessKeyPreviewを使用しようと思い(VB.NETで同様のケースがあったので)、
protected override bool ProcessKeyPreview(System.Windows.Forms.Message m)
と言う形で作成してみると
overrideは使えないとビルドエラーが出ました、
overrideが使えないのは、同名メソッドの定義が存在しないからと言う事で、
「クラスライブラリのProcessKeyPreviewは、overrideの対象じゃないの?」
って感じでわからなくなってきました。
ヘルプ等で見てみると、「virtual」となっていました。
でも、
「virtual」だと、呼び出し元子コントロールが存在しないといけないんですよね。
私は、各オブジェクトのイベントハンドラから渡さないといけないかなと思ったのですが、
それだと「.NET」の意味がわからなくなってしまいます。

ProcessKeyPreviewは、デザイン上の各オブジェクトのキーイベントを共通で取得出来ると言う
考え方がおかしいのでしょうか

どなたかご存知でしたら、解決策と理屈をお教えして頂けないでしょうか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-09-14 15:42
こんにちは、じゃんぬ です。

引用:

じぇねさんの書き込み (2005-09-14 15:21) より:

protected override bool ProcessKeyPreview(System.Windows.Forms.Message m)


これ、どうやって生成しました?
単に、ソースにそう書いただけですか?


_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2005-09-14 15:49
Form.ProcessKeyPreview メソッドの解説を見れば分かりますが、シグネチャ(ここでは引数)が間違ってますよ?
じぇね
会議室デビュー日: 2005/09/13
投稿数: 13
お住まい・勤務地: 豊中市と枚方市を足して2で割る
投稿日時: 2005-09-14 15:54
はい、
現状、ソースのみですね

オブジェクトのイベントハンドラとして、
ProcessKeyPreviewを生成する事は出来ないので
現状、ソースのみとしています。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-09-14 15:56
引用:

じぇねさんの書き込み (2005-09-14 15:54) より:

はい、現状、ソースのみですね

オブジェクトのイベントハンドラとして、
ProcessKeyPreviewを生成する事は出来ないので
現状、ソースのみとしています。


で、自分で書かれたのですね。
ref はどうしました?


_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
じぇね
会議室デビュー日: 2005/09/13
投稿数: 13
お住まい・勤務地: 豊中市と枚方市を足して2で割る
投稿日時: 2005-09-14 16:07
refが抜けてますね。(汗

今、refを入れて実行してみましたら
いけました。

ありがとうございます。
1

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