문제

<System.ComponentModel.TypeConverter(GetType(System.ComponentModel.ExpandableObjectConverter))> _

에는 선언의 클래스(는 시설의 다른 클래스)로 구성된 숫자의 속성입니다.

나는 부하의 인스턴스 이 클래스는 단순히...

PropertyGrid1.SelectedObject = oColumn

분명히 내가 원하지 않을 수동으로 구축 propertygrid 코드에서,내가 그렇게 작업을 수행하는 방법을 알아.

그러나 여기에는 문제입니다.에 따라 재산의 가치,어떤 다른 특성을 보이지 않아야로 하지만 난 사용

<System.ComponentModel.Browsable(False)> _

특성 속성은 선언입니다.

어쨌든 이 프로그래밍 방식으로 필요없이 모두 처리하는 건물의 속성을 수동으로 그리드>

도움이 되었습니까?

해결책

는 경우 당신이 기대 gridItem.Hide()후,답은 없습니다.만을 달성하는 방법에는 MS PropertyGrid 을 동적으로 게시하고 속성을 통해 GetProperties 방법의 형식 변환기 지원하거나 사용자 지정 형식을 기술자(를 구현하는 ICustomTypeDescriptor).도록 노력하겠다 첫번째 형식 변환기 지원(expecially 는 경우 제공할 값을 확인하는 동일한 수준에서),적어 코딩을 할 수 있다.

다른 팁

실제로 이는 전적으로 가능합니다.첫 번째 및 가장 쉬운 방법을 설정하는 것입니다 그리드의 BrowsableAttributes 속성:

propGraph.BrowsableAttributes = new AttributeCollection(
    new Attribute[] 
    { 
        new CategoryAttribute("Appearance")
    });

이 필터는 모든 특성과 일치하지 않는 특성-종류에 당신을 공급.불행하게도 이것은 긍정적인 여과기 보다는 부정적인 필터는 적용적입니다.

두 번째,그리고 동등하게,쉬운 만들 수 있는 간단한 포장의 주위에 표시하고 싶은 목표에 PropertyGrid 고 다시 정의하는 어떤 특성을 숨기려는/etc.으로 통과 속성:

public class MyDerivedControl : public TextBox
{
    [Browsable(false)]
    [Category("MyCustomCategory")]
    public new bool Enabled
    {
         get { return base.Enabled }
         set { base.Enabled = value; }
    }
}

팝업으로 시설의 그리드와 사용 속성이 될 것이 숨겨져 있습니다.

셋째,사용자 정의할 수 있습 PropertyGrid 자체적으로 얻는 세계의 유형을 설명 등,하지만 당신이 원하는 모든이 할 일은 숨길 몇 가지 특성을 이 과잉이다.

이게 도움이 되었으면 좋겠습니다.

으로 C++,여기에는 쉬운 솔루션을 보여 선택한 카테고리에 propertyGrid.

cli::array<Attribute^,1>^ attrs = {gcnew CategoryAttribute("Appearance")};
this->PropertyGrid->BrowsableAttributes = gcnew AttributeCollection(attrs);
this->PropertyGrid->SelectedObject = this->SelectedControl;

이 것만 보여'외관'카테고리에서 propertyGrid 숨기 다른 모든 범주가 있습니다.할 수 있다고 가정하면 번역 코드에서는 C#다.

이 질문 비슷하지만,답변이 있습니다.어떤 사람들은 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top