我正在寻找一种方法来对多个按钮使用一个过程。这是一个测验,就像您必须按按钮1来回答问题1一样,但是对于任何人来说,复制和粘贴36个按钮的整个代码并更改36个按钮的变量并不十分有趣。
所以我想这样的事情是可能的:
procedure TForm1.Button[x]Click(Sender: TObject);
begin
DoTask[x];
end;
X是变量。
这样的事情是否可能发生,或者还有其他方法来获得相同的结果吗?
最简单的方法是:
使用Tag
对象检查器中的属性(或在创建按钮时在代码中)为按钮编号,以便于区分它们。(或单击该按钮时,将要传递的值分配给过程/函数。)
创建一个事件处理程序,并将其分配给要由同一代码处理的所有按钮。
Sender
事件接收的参数将是单击的按钮,然后可以将其转换为TButton
。
procedure TForm1.ButtonsClick(Sender: TObject);
var
TheButton: TButton;
begin
TheButton := Sender as TButton;
DoTask(TheButton.Tag);
end;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句