Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 在运行时获取新创建组件的名称_Delphi_Delphi Xe - Fatal编程技术网

Delphi 在运行时获取新创建组件的名称

Delphi 在运行时获取新创建组件的名称,delphi,delphi-xe,Delphi,Delphi Xe,本质上,我希望用户以标签的形式添加注释。我已经实现了这一点,没有问题,但我希望用户能够删除新创建的标签 comment := TLabel.Create(Self); comment.Parent := Form1; 我想在运行时添加标签,然后用名称或对该标签的任何引用填充组合框、stringgrid或类似的内容,这样用户就可以删除该标签 如何获取新创建的标签的名称作为参考 感谢您的帮助。组件的名称可以从其名称属性中读取: comment.Name 您可以写入该属性,为组件指

本质上,我希望用户以标签的形式添加注释。我已经实现了这一点,没有问题,但我希望用户能够删除新创建的标签

    comment := TLabel.Create(Self);
    comment.Parent := Form1;
我想在运行时添加标签,然后用名称或对该标签的任何引用填充组合框、stringgrid或类似的内容,这样用户就可以删除该标签

如何获取新创建的标签的名称作为参考


感谢您的帮助。

组件的名称可以从其
名称
属性中读取:

comment.Name
您可以写入该属性,为组件指定一个易于向用户显示的名称。当您动态创建一个新组件时,您会希望这样做,因为在您命名它之前,它不会有名称


如果您不想使用
Name
属性,则无需使用该属性。您可以使用自己选择的命名。例如,您可能希望使用包含空格的名称。或者不被限制使用静态控件已经使用的名称。将组件保存在字典中,名称作为键,组件作为值。我的建议是你走第二条路

您自己创建的组件没有指定
名称,除非您自己明确指定一个。当您在设计时将组件放到表单上时,IDE会合成一个
名称


您只需指定自己喜欢的
名称
,只要它是有效的组件名称(未使用、无空格等),然后可以通过其
所有者.FindComponent()
方法找到该组件,前提是您自己不跟踪该组件。否则,请将组件放入您自己的列表/数组中,以便以后可以找到它。

仅当您在创建组件时指定了
名称时。在运行时动态创建的控件没有指定名称。