如何模拟按下按钮?

Arn*_*old 5 delphi vcl event-handling

我想测试一些表格.有没有办法模拟按下确定(或取消)按钮,以便按下按钮并触发与之关联的事件处理程序?

Dav*_*nan 20

最干净的方法是调用按钮的Click方法.由于以下原因,这比替代方案更好:

  • 您可以阅读OnClick属性,检查它不是nil,然后调用该方法.但这似乎毫无意义,因为Click方法已经做到了.重复此代码毫无意义.
  • 您可以直接调用事件处理程序,但这需要您的代码知道它.这意味着与实现细节的不期望的耦合程度.
  • 调用Click复制用户单击时实际发生的情况.这当用户按下按钮时会发生什么.例如,它处理与按钮关联的任何操作.它设置窗体ModalResult属性.等等.


bej*_*run 5

btn_ok.click 要么 btn_okClick(sender);