1

同じウィンドウフォームファイルの別のメソッド内からクリックイベントを呼び出そうとしています。それは私からはうまくいきません。

例えば:

  theClass = partial class(System.Windows.Forms.Form)
    method AlarmListBox_Click(sender: System.Object; e: System.EventArgs);  
  private
  protected
  public
    method DoSomething;
  end;

  method theClass.DoSomething;
  begin
    self.AlarmListBox_Click; <<<this is where i want to call the click event
  end;

私が何をしても、コンパイラエラーが発生し続けます。AlarmListBox.Click、AlarmListBox.performClickなどを試しました。

私が得たエラーのいくつか:

  1. パラメータが0のオーバーロードされたメソッド「AlarmListBox_Click」はありません。
  2. 基になるイベントフィールドにアクセスできません

では、同じウィンドウフォーム内でどのようにイベントを発生させるのでしょうか。

4

2 に答える 2

1

デフォルトのパラメーターを使用してイベント ハンドラーを呼び出すことをお勧めします。

AlarmListBox_Click(self, EventArgs.Empty);

メソッドに self を渡すことで、呼び出しのソースが AlarmListBox ではなくフォームであることを定義します。また、AlarmListBox をクリックしたためにイベントが発生したのではなく、コードからイベントが発生したことを示すカスタム EventArgs を渡すこともできます。

于 2011-08-31T05:29:03.177 に答える
0

メソッドのパラメーターを渡していませんAlarmListBox_Click

これを試して

AlarmListBox_Click(nil, nil);
于 2011-08-30T19:37:09.093 に答える