2010-04-29 3 views
0

System.Windows.Forms에는 연결된 개체의 속성을 표시하는 PropertyGrid가 있습니다. MyTextBox : TextBox을 예로 들어 보겠습니다.PropertyGrid의 필터 요소

이제는 MyTextBox 속성에 Size, Location 및 내 사용자 지정 속성 Date 만 표시하고 싶습니다.

그 이상의 것보다, "Dimension", "Location"및 "Starting Date"와 같은 실제 속성 이름을 변경하고 싶습니다.

firstsecond 두 프로젝트를 보았지만 처음에는 잘 작동하지 않고 (탐색 가능한 속성의 경우) 두 번째 이벤트가 각 속성 변경에 이벤트를 추가하는 것처럼 보입니다. 이는 허용되지 않습니다.

답변

0

[Browsable(false)] 속성을 사용하여이를 숨길 수 있어야합니다. 이름을 변경하려면 본인의 TypeDescriptor를 작성해야합니다. here

+0

예,하지만 TextBox에 대해 썼습니다. 모든 TextBox 속성을 Browsablefalse 특성으로 재정의 할 수 없습니다. – serhio

+0

내 잘못 ... 나는 완전히 기본 클래스를 간과했다. 나열된 CustomTypeDescriptor에서 동일한 기술을 사용하여 원하는 속성을 필터링하고 이름을 변경할 수 있습니다. –

+0

동일한 기술 (?) .. 흠 .. 내가 컴파일되지 않은 코드 (FriendlyNamePropertyDescriptor 클래스의 정의되지 않은 메서드 GetFriendlyname)를 표시했습니다. "// 친숙한 이름을 반환하는 코드로 바꿉니다."그러나 무엇을 대체해야합니까? – serhio