我的表格上有一个按钮。以下是该按钮的单击事件
procedure Form1.btnOKClick(Sender: TObject);
begin
//Do something
end;
只有当我单击按钮时才会调用此事件,对吧?
如何在没有任何用户干预的情况下自动调用此事件?
我的表格上有一个按钮。以下是该按钮的单击事件
procedure Form1.btnOKClick(Sender: TObject);
begin
//Do something
end;
只有当我单击按钮时才会调用此事件,对吧?
如何在没有任何用户干预的情况下自动调用此事件?
OnClick
调用附加到控件的事件处理程序的最佳方法是调用控件Click
上的方法。像这样:
btnOK.Click;
直接调用事件处理程序会强制您提供Sender
参数。调用该Click
方法可以让控件完成所有工作。按钮单击的 Windows 消息处理程序的实现调用该Click
方法。
但我赞同 whosrdaddy 的回答中表达的观点。您应该将按钮背后的逻辑提取到单独的方法中。
不要将您的业务逻辑放入事件处理程序中。当应用程序变大时,这将使您的代码不可读。
通常你会这样做:
procedure TForm1.DoSomething;
begin
// do something
end;
procedure TForm1.btnOKClick(Sender: TObject);
begin
DoSomething;
end;
那么您需要做的就是DoSomething
从代码中的其他部分调用
您可以像任何其他方法一样在代码中调用此事件。
...
btnOkClick(Self.btnOk); // Sender in this case is the btnOk
...
Sender 可以是你喜欢的任何对象,也可以是 nil。