我想测试一些表格。有没有办法模拟按下确定(或取消)按钮,以便按下按钮并触发与之关联的事件处理程序?
答案 0 :(得分:20)
最干净的方法是调用按钮的Click方法。由于这些原因,这比其他选择更好:
Click
会复制用户点击时实际发生的情况。 是当用户按下按钮时会发生什么。例如,它处理与按钮关联的任何操作。它设置窗体ModalResult属性。等等。答案 1 :(得分:5)
btn_ok.click
或btn_okClick(sender);
答案 2 :(得分:1)
调用OnClick
事件处理程序不会调用Delphi的默认事件处理程序,而只调用用户实现的处理程序。我认为你应该创建自己的派生自TCustomButton
的类,并实现一个调用Click
方法的函数(它受到保护)。
答案 3 :(得分:0)
对TSpeedButton的更正:
@David Heffernan所描述的行为并不完全适用于组中的快速按钮。调用Click方法似乎并不影响按钮的“按下”状态。
为解决这个问题,我使用了以下代码:
MyButton.Click;
MyButton.Down := True;
答案 4 :(得分:-1)
最好使用Button =>
的PerformClick()
方法
button1.PerfomClick()
如果您的Button未处于正确的单击状态(启用为false或不可见),则不会执行click eventmethod。