2009-10-30 2 views
0

Rods 목록이있는 컨트롤이 있습니다. 막대가 몇 공용 속성이 있습니다Forms Designer에서 사용자 지정 속성에 액세스하기위한 속성

public List<Rod> Rods { get; set; }

가 나는 RodsHost 컨트롤을 선택하고 클릭 수 있도록하고 싶습니다 : 막대를 호스팅하는 컨트롤에서


    public class Rod 
    { 
     float Angle { get; set; } 
     Color MainColour { get; set; } 
     int Length { get; set; } 
     int Width { get; set; } 
     //other private code here you need not be concerned with ;) 
    } 

를,리스트는 다음과 같이 선언 "Rods"속성 페이지를 열고 Forms Designer GUI를 통해 해당 컨트롤의 Rod를 편집하십시오. 현재 Rods를 목록에 추가 할 수 있지만 Rod의 속성 (Angle, MainColour 등)은 편집 할 수 없습니다. Rods 클래스에 [DesignTimeVisible(true)]이라는 속성을 적용 해 보았습니다. 작동하지 않는 것 같습니다. 어쩌면 Designer 속성을 사용해야한다고 생각했지만 디자이너 클래스가 필요한지 잘 모르겠습니다. 누구든지 제안을 받았습니까?

답변

1

이것이 도움이되는지 아닌지는 잘 모르겠지만 내가 한 일은 userControl을 만들고 get set으로 속성을 만들었습니다. 그러면 속성이 시각적 IDE의 속성 창에 자동으로 나타납니다.

[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]

뿐만 아니라 일부 적절한 기본 값을 설정하는 생성자를 추가 : 나는대로 목록을 장식하는 데 필요한 같은

+0

나는 그것을 시도했지만 효과가없는 것 같습니다. Control을 상속 한 일반 속성은 목록을 편집 할 때 속성 창에 표시되지만 추가 한 사용자 지정 항목은 표시되지 않았습니다. – FrustratedWithFormsDesigner