2011-11-21 54 views
1

从WinForms Designer中,我可以获取组件的列表,如果组件是控件,我可以使用GetName()方法获取它的名称。如何获取组件的名称?

但是,如果组件是组件,则不存在GetName()方法。我怎样才能得到组件的名称?

按名称我指的是组件所在的winforms设计器属性表中给出的对象名称。

回答

2

没关系,搞清楚,GetName()是我自己在控件上的扩展方法。

我需要改变它来扩展组件。

对于后人,这里是你怎么拿到的一个控件或组件名称:

public static string GetName(this Component component) 
{ 
    return (string)TypeDescriptor.GetProperties(component)["Name"].GetValue(component); 
} 
+0

它不与部件的工作,因为组件没有名为“名称”的任何财产。 – FabioThorin