|
分類:[C#]
tamaboyoです。 ただいま、VB6で作成しているユーザーコントロールをC#に移行中です。
元々、VB6で Event Clicked(Index As Integer, nMode As Integer) と宣言したエベントがあります。 これを呼ぶのは、ラベルのクリックイベントの中で、処理の一番最後に RaiseEvent Clicked(Index, nMode) で呼んでいました。
これをC#で実装したいのですが、宣言を event Clicked(object sender, EventArgs e); とすると、 「無効なトークン '(' が クラス、構造体またはインターフェイスのメンバ宣言で使用されています。」 とエラーが出ましたので、引数不要?と思い消してみたところ、 「無効なトークン ';' が クラス、構造体またはインターフェイスのメンバ宣言で使用されています。」 に変わりました。 また、ハンドラ名がたりないのかな?と思い宣言を public event ClickedHandler Clicked(object sender, EventArgs e); に変更しましたら、今度は 「; または = を指定してください (宣言の中にコンストラクタ引数は指定できません)。」 のエラーに変わりました。
そもそも、イベントを使う際にはdelegateを使わないといけないのでしょうか? なんかこの辺をうろうろしていて抜け出せていないので、何かヒントをいただけないでしょうか?
環境はCS2005です。 宜しくお願いします。
|