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

时间:2015-03-02 18:18:41

标签: delphi delphi-xe

基本上,我希望用户以标签的形式添加评论。我已经实现了这个没问题,但我希望用户能够删除新创建的标签。

    comment := TLabel.Create(Self);
    comment.Parent := Form1;

我想在运行时添加标签,然后使用名称或任何类型的对该标签的引用填充组合框或字符串或类似的内容,以便用户可以删除该标签。

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

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

您自己创建的组件没有分配Name,除非您自己明确指定。当您在设计时删除表单上的组件时,IDE会合成Name

你可以只分配你想要的Name,只要它是一个有效的组件名称(未使用,没有空格等),然后可以通过Owner.FindComponent()找到该组件。方法,如果您不自己跟踪组件。否则,将组件放入您自己的列表/数组中,以便稍后查找。

答案 1 :(得分:0)

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

comment.Name

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

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