题
是否有人知道如何以编程方式在.NET Framework设置所选PropertyTab的一个PropertyGrid的?该SelectedTab属性是不可设置的,这是可以理解的,因为该文件表明你不应该创建自己PropertyTabs的实例。然而,我似乎无法找到相应的方法来调用,也不属性对PropertyGrid的实例设置,以改变从代码的标签,例如SelectTab(类型tabType)/ INT SelectedTabIndex {集; }。任何想法?
解决方案
海报丹尼尔几乎拥有了。下面是实际工作,如果你是这个应用到自己的PropertyGrid的子类:
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 });
}
}
像丹尼尔说,这是不好的形式完全不被支持,但你不必担心跨域访问权限,它只要工作。
不隶属于 StackOverflow