有人知道如何以编程方式在 .Net 框架中的 PropertyGrid 上设置选定的 PropertyTab 吗?SelectedTab 属性不可设置,这是可以理解的,因为文档表明您不应该自己创建 PropertyTabs 的实例。但是,我似乎无法在 PropertyGrid 实例上找到相应的方法来调用或设置属性来更改代码中的选项卡,例如 SelectTab(Type tabType) / int SelectedTabIndex { set; }。有任何想法吗?
A C
问问题
862 次
1 回答
2
海报丹尼尔几乎拥有它。如果您要将其应用到您自己的 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 });
}
}
正如 Daniel 所说,这是一种糟糕的形式,完全不受支持,但只要您不必担心跨域访问权限,它就可以工作。
于 2009-02-09T19:07:04.153 回答