有人知道如何以编程方式在.Net框架中的PropertyGrid上设置所选的PropertyTab吗? SelectedTab属性是不可设置的,这是可以理解的,因为文档表明您不应该自己创建PropertyTabs的实例。但是,我似乎无法找到一个相应的方法来调用也不要在PropertyGrid实例上设置属性来从代码中更改选项卡,例如SelectTab(Type tabType)/ int SelectedTabIndex {set; }。有什么想法吗?
答案 0 :(得分:2)
public int SelectedTabIndex
{
set
{
Type pgType = typeof(PropertyGrid);
BindingFlags flags = BindingFlags.NonPublic | BindingFlags.Instance;
ToolStripButton[] buttons = (ToolStripButton[]) pgType.GetField("viewTabButtons", flags).GetValue(this);
pgType.GetMethod("SelectViewTabButton", flags).Invoke(this, new object[] { buttons[value], true });
}
}
就像丹尼尔所说,这是一种糟糕的形式,并且完全不受支持,但只要您不必担心跨域访问权限,它就会起作用。