Gle*_*rse 1 forms delphi delphi-xe2
我在表格上有一个按钮.
按钮名称是bmod2,而表单名称是fLayOut1
当用户单击按钮时,我想保存当前表单和按钮名称的名称
procedure TFLayout1.bMod2Click(Sender: TObject);
var
azone : string;
adept : string;
begin
azone := //forum name here
adept := //button name here
end;
Run Code Online (Sandbox Code Playgroud)
要获取事件方法所属的当前表单的名称,您可以Name直接访问该属性,也可以通过隐藏 Self对象访问该属性,如下面的注释代码行所示.
要获取已触发某个事件的组件的名称(在本例中为OnClick事件),您可以使用常用Sender参数,该参数(通常)是对象的引用,导致事件触发.由于传递的Sender参数是基TObject类类型,它还没有Name属性,因此需要将此对象类型转换为Name属性所具有的类型.它可能直接是具有绑定事件的对象的类型,或者如果您不确定它,或者可能有更多组件类型绑定到事件,您可以使用例如属性定义的公共TComponent祖先类Name(正如以下代码中的注释行所示:
procedure TFLayout1.bMod2Click(Sender: TObject);
var
azone: string;
adept: string;
begin
azone := Name;
// azone := Self.Name;
adept := TButton(Sender).Name;
// adept := TComponent(Sender).Name;
ShowMessage('Form name: ' + azone + sLineBreak +
'Sender name: ' + adept);
end;
Run Code Online (Sandbox Code Playgroud)