ボタンクリックイベントでカスタムEventArgsクラスにアクセスする方法は?

StackOverflow https://stackoverflow.com/questions/5405929

  •  29-10-2019
  •  | 
  •  

質問

フォローアップとして: カスタムeventargsクラス内の値にアクセス

ボタンクリックまたはその他のメソッドを使用して、カスタムEventargsクラス内のパブリック変数にアクセスするにはどうすればよいですか?

カスタムイベント引数クラスの例: ジェネラコディセタグプレ

button_clickイベントの背後にあるコード: ジェネラコディセタグプレ

助けてくれてありがとう。

役に立ちましたか?

解決

ボタンクリックイベントが発生すると、「e」に渡されるジェネラコダイスタグコードが作成されます。そのオブジェクトはあなたが作成したのではなく、フレームワーク自体が作成したもので、EventArgs型です。これにより、別のタイプにキャストできなくなります。

EventArgsを発生させるイベントが必要な場合は、できればTraderEventArgsタイプのイベントを作成し、自分で制御できる場所でこのイベントを発生させる必要があります。これにより、正しいタイプのクラスを生成し、それを(別のイベントハンドラーで)直接処理できます。

他のヒント

それはできません。EventArgsイベントのClickは、常にEventArgsタイプです。イベント引数はボタンによって作成され、ボタンはTraderEventArgsについて何も知らないため、TraderEventArgs型であるとは期待できません。それが機能する唯一の方法は、Buttonの代わりにTraderEventArgsを使用してイベントを発生させる独自のEventArgsコントロールを作成する場合です。

解決策:カスタムデリゲートと、データ(Datable、Arrayなど)を介してカスタムイベントの引数を渡します。

そのために正しいデータが返されます。

コアC#と.NET 3.7。参加者とイベント > http://flylib.com/books/en/4.253.1.38/1/a>

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top