0

ラジオボタンコントロールのクリックに反応しようとしています。実行時に、EventArgs変数は、この画像に示すように、EventArgsタイプの基本クラスを持つMouseEventArgsタイプの要素を示します。

ここに画像の説明を入力してください

赤い矢印は、コンパイルを可能にするためにEventArgsをMouseEventArgsとしてキャストしている場所を示しています。キャストがない場合、使用可能なメソッドはequals、getHashCode、getType、およびToStringのみであるためです。注意点として、私はこのコントロールをデザイナーではなく手動で作成しています。

ただし、続行すると次のエラーが発生します。

ここに画像の説明を入力してください

エラーは理解しましたが、「EventArgs」にはClicksメソッドにアクセスできないため、エラーをコンパイルする方法を理解できません。

皆様のご協力に感謝いたします。

4

2 に答える 2

1

タイプがのイベントハンドラーの2番目のパラメーターを指定する必要がありますMouseEventArgs。このような:

private static void AutoMan_RadBut_Click(object sender, MouseEventArgs e)

そうすれば、メソッド内で引数をキャストする必要はありません。

于 2012-12-19T18:30:38.407 に答える
0

ご回答ありがとうございます。

最終的な解決策は、アダムの答えの一部を使用しました。EventArgsをMouseEventArgsに変更する必要がありましたが、それだけでエラーが発生しました。ソリューション全体には、変更が含まれていました

new EventHandler(AutoMan_RadBut_Click);

new MouseEventHandler(AutoMan_RadBut_Click)

私を正しい道に導いてくれたアダムに感謝します。

PS実行時に「e」にMouseEventArgsサブクラスがある理由はまだわかりませんが、コンパイル時にアクセスできません。

于 2012-12-19T20:54:50.107 に答える