デリゲート – プログラミング – Home

通知
すべてクリア

[解決済] デリゲート


snow
 snow
(@snow)
ゲスト
結合: 22年前
投稿: 30
Topic starter  

コントロールを作成しています。
コントロールをフォームに配置したとき、
parentプロパティで親がフォームかどうかを判断し、
親がフォーム(parent != null)だったら,
そのコントロール内で親のKeyDownのイベントをすべて拾いたいのですが
どのようにデリゲートさせればよいのでしょうか?
作成したコントロール内で

this.Parent.KeyDown += new System.EventHandler(this.Parent_KeyDown);
private void Parent_KeyDown(object sender, System.Windows.Forms.EventArgs e)
{
}

という感じでやっているのですが
型が違うらしく読み取ってくれません。
教えて下さい。


引用未解決
トピックタグ
ZEBRA
 ZEBRA
(@ZEBRA)
ゲスト
結合: 22年前
投稿: 10
 

こんばんわ。ZEBRAです。

>型が違うらしく読み取ってくれません。
FormのKeyDownイベントは、KeyEventHandler型のデリゲートを受け付けます。
原因は、KeyEventHandlerデリゲートに、EventHandlerデリゲートを代入しようとしてい
るからだと思います。

this.Parent.KeyDown += new System.EventHandler(this.Parent_KeyDown);

this.Parent.KeyDown
+= new System.Windows.Forms.KeyEventHandler(this.Parent_KeyDown);

で試してみてはどうでしょうか?


返信引用
snow
 snow
(@snow)
ゲスト
結合: 22年前
投稿: 30
Topic starter  

this.Parent.KeyDown += new KeyEventHandler(this.Parent_KeyDown);
private void Parent_KeyDown(object sender, KeyEventArgs e)
{
}
で出来ました。
ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました