Events 在Delphi Prism中调用同一窗口窗体内的事件

Events 在Delphi Prism中调用同一窗口窗体内的事件,events,listbox,click,delphi-prism,Events,Listbox,Click,Delphi Prism,我试图从同一窗口表单文件的另一个方法中调用单击事件。这对我来说就是行不通 例如: theClass = partial class(System.Windows.Forms.Form) method AlarmListBox_Click(sender: System.Object; e: System.EventArgs); private protected public method DoSomething; end; method theCla

我试图从同一窗口表单文件的另一个方法中调用单击事件。这对我来说就是行不通

例如:

  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;
theClass=部分类(System.Windows.Forms.Form)
方法AlarmListBox\u单击(发送方:System.Object;e:System.EventArgs);
私有的
受保护的
公众的
方法剂量测定法;
结束;
类剂量法;
开始

self.AlarmListBox\u单击 您没有传递方法的参数
AlarmListBox\u单击

试试这个

AlarmListBox_Click(nil, nil);

您没有传递方法的参数
AlarmListBox\u单击

试试这个

AlarmListBox_Click(nil, nil);

最好使用默认参数调用事件处理程序:

AlarmListBox_Click(self, EventArgs.Empty);

通过将self传递到方法中,您可以定义调用的源不是AlarmListBox,而是您的表单。您还可以传入自定义EventArgs,声明事件不是因为单击AlarmListBox而引发的,而是来自您的代码。

最好使用默认参数调用事件处理程序:

AlarmListBox_Click(self, EventArgs.Empty);

通过将self传递到方法中,您可以定义调用的源不是AlarmListBox,而是您的表单。您还可以传入自定义EventArgs,声明事件不是因为单击AlarmListBox而引发的,而是来自您的代码。

@RRUZ,参数是事件的一部分。所以,打电话的人不应该通过他们。如果我错了,请纠正我。在Delphi中,您只需调用AlarmListBox\u Click(self)或AlarmListBox\u Click;在delphi中,您可以使用
click
过程调用与click事件相关联的过程,如so
Button1.click或直接执行与事件关联的过程
按钮1单击(无)。在.Net Winforms中,您可以使用按钮的
PerformClick
方法执行此操作。但此方法仅对一些控件公开,如菜单项、单选按钮和按钮。@RRUZ,参数是事件的一部分。所以,打电话的人不应该通过他们。如果我错了,请纠正我。在Delphi中,您只需调用AlarmListBox\u Click(self)或AlarmListBox\u Click;在delphi中,您可以使用
click
过程调用与click事件相关联的过程,如so
Button1.click或直接执行与事件关联的过程
按钮1单击(无)。在.Net Winforms中,您可以使用按钮的
PerformClick
方法执行此操作。但这种方法只适用于少数控件,如菜单项、单选按钮和按钮。