selectedTab을 PropertyGrid에 설정합니다
-
21-08-2019 - |
문제
.NET Framework의 PropertyGrid에서 선택한 PropertyTab을 프로그래밍 방식으로 설정하는 방법을 아는 사람이 있습니까? selectedtab 속성은 정착 할 수 없으며, 문서는 속성의 인스턴스를 직접 만들어서는 안된다는 것을 나타내므로 이해할 수 있습니다. 그러나 Code에서 탭을 변경하기 위해 PropertyGrid 인스턴스를 설정하기 위해 호출하거나 속성을 호출 할 수있는 해당 방법을 찾을 수없는 것 같습니다 (예 : selectTab) / int selectedTabindex {set; }. 어떤 아이디어?
해결책
포스터 다니엘은 거의 그것을 가지고 있었다. 당신이 이것을 자신의 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