0

EventHandlerをMouseEventHandlerに変換しようとすると問題が発生します。

System::EventHandler^ method = gcnew System::EventHandler(this, &MainForm::Exit_Action);
if (e->trigger == "onmousedown") {
     c->MouseDown += (MouseEventHandler^)(method); // error

(これは、System :: Windows :: Forms :: Formクラスを指します)

トリックを行う方法はありますか?

4

1 に答える 1

2

まあ、でEventHandlerはないのでMouseEventHandler(同じ継承階層にない場合でも)、これは機能しないはずです。

内部に新しい(まあ、gcnew)を作成してみませんか?安いです:)MouseEventHandlerif

(C#では通常、次のようなものを使用して暗黙のラムダを作成しc.MouseDown += Exit_Action;ますが、C ++ / CLIにそのような構文があるかどうかはわかりません。)

于 2012-08-31T15:43:00.660 に答える