最近用ToolBarButton的Tag关联menuItem的按钮事件,遍历ToolBar时想取得ToolBarButton的名称,找了半天没有搞定,后来用取得整个页面的控件的方法来取得 :)
//用反射的方法来取得控件的(Name)属性fields[i].Name
Type t = this.GetType();
FieldInfo[] fields = t.GetFields(BindingFlags.NonPublic | BindingFlags.Instance);
for (int i = 0; i < fields.Length; i++)
{
if (fields[i].FieldType.Name.Equals("ToolBarButton"))
{
ToolBarButton toolBarButton = (ToolBarButton) fields[i].GetValue(this);
//如果需要判断权限(只能根据TAG来判断,故需要设置TAG的值为NAME)
if (toolBarButton.Visible == true && toolBarButton.Tag != null)
{
strControlTag = fields[i].Name.ToUpper();
}
}
}
不知是否有兄台有更好的方法,还请告知小弟..
非有希望才坚持,坚持才会有希望