在运行时获取新创建组件的名称
问题描述:
实质上,我希望用户以标签的形式添加注释。我已经实现了这个没有问题,但我希望用户能够删除新创建的标签。在运行时获取新创建组件的名称
comment := TLabel.Create(Self);
comment.Parent := Form1;
我想在运行时添加标签,然后再填充组合框或stringgrid或名称或任何种类到标签的引用类似的东西,使用户可以删除该标签。
如何获取新创建的标签的名称以供参考?
感谢您的任何帮助。
答
您自己创建的组件没有Name
分配,除非您自己明确指定一个组件。当设计时在表单上放置组件时,IDE是合成Name
。
你只需指定任何Name
你觉得,只要它是一个有效的组件名称(未使用,没有空格,等等),然后该组件可以通过其Owner.FindComponent()
方法可以发现,如果你不自己跟踪组件。否则,将组件放入自己的列表/数组中,以便稍后可以找到它。
答
组件的名称可以从它的Name
财产阅读:
comment.Name
您可以写信给该属性给该组件名称是适合于展示给用户。当你创建一个新的组件时,你会想要这样做,因为它只有在你命名之后才会有名字。
如果您不希望的话,您不需要使用Name
属性。你可以使用你自己选择的命名。例如,您可能希望使用包含空格的名称。或者不要限制使用静态控件已经使用的名称。将组件保存在名称为键和组件作为值的字典中。我的建议是,你走下第二条路。
只有在创建时指定了“名称”。在运行时动态创建的控件没有分配名称。 – 2015-03-02 18:22:59
是的,这是正确的 – 2015-03-02 18:30:23