2015-03-02 32 views
-1

实质上,我希望用户以标签的形式添加注释。我已经实现了这个没有问题,但我希望用户能够删除新创建的标签。在运行时获取新创建组件的名称

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

我想在运行时添加标签,然后再填充组合框或stringgrid或名称或任何种类到标签的引用类似的东西,使用户可以删除该标签。

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

感谢您的任何帮助。

回答

3

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

你只需指定任何Name你觉得,只要它是一个有效的组件名称(未使用,没有空格,等等),然后该组件可以通过其Owner.FindComponent()方法可以发现,如果你不自己跟踪组件。否则,将组件放入自己的列表/数组中,以便稍后可以找到它。

0

组件的名称可以从它的Name财产阅读:

comment.Name 

您可以写信给该属性给该组件名称是适合于展示给用户。当你创建一个新的组件时,你会想要这样做,因为它只有在你命名之后才会有名字。

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

+1

只有在创建时指定了“名称”。在运行时动态创建的控件没有分配名称。 – 2015-03-02 18:22:59

+0

是的,这是正确的 – 2015-03-02 18:30:23