2012-08-23 1 views
2

몇 가지 속성으로 만든 클래스 GaugeScale이 있습니다. 이 클래스에는 GDI + 그려진 계기 주위에 전체 눈금을 표시하는 데 필요한 정보가 들어 있습니다.Designer 기능을 사용하여 TypeConverter를 성공적으로 상속하는 방법

GaugeDrawer를 사용하여 프레임을 렌더링하는 Gauge 컨트롤이 있습니다.

GaugeDrawer 일반 성분

프레임 작업 ... CircularGaugeDrawer은 (멋진 자동차 RPM 게이지한다) 또는 ThermometerDrawer 의해 하나에 의해 표현 될 수

같은 디자인시에 사용될 수있는 구성 요소 어쨌든, 둘 다 몇 가지 복잡한 속성 (GaugeScaleInterval [] 및 float)을 사용하는 GaugeScale을 사용하고 있는데, Visual Studio Designer가 이러한 속성을 인스턴스화하고 표시 할 수있는 방법이 있는지 알고 싶습니다. 이 제어 방법을 만드는 것은 사용자가 덜 복잡하게 만듭니다.

그래서 어떻게 드로어 구성 요소를 사용하는 방법을 Designer에 가르 칠 수 있는지 궁금합니다. TypeConverter가 솔루션 인 경우.

이 모든 물건의 WinForm 환경을 대상으로 : 어떻게

편집 비주얼 스튜디오의 디자이너에게 유용 할 수 있습니다.

+0

WPF/XAML 기반 디자인과 비슷하지 않습니다. WinForms입니까? – quetzalcoatl

+0

@quetzalcoatl 예 WinForm 좋은 추측입니다.내 질문을 업데이 트하겠습니다 –

답변

2

당신은 말하지 않았지만 WinForms (system.windows.forms)를 사용하고있는 것 같습니다.

이 주제에서 TypeConverters는 일반적으로 텍스트/문자열 표현을 속성에 할당 할 수있는 구체적인 개체로 /에서 변환합니다.

기사 http://msdn.microsoft.com/en-us/magazine/cc164145.aspx 참조하십시오 - 따로 INT 및 열거 속성을 보여주는로부터는 형태의 속성 창에서 USCH 유형의 속성을 노출 HandConverter와 방법에 따라 사용자 정의 클래스 Hand를 작성하는 방법도 좋은 입문 튜토리얼있다 디자이너.

TypeConverter는 속성 수준과 클래스 수준 모두에 등록 될 수 있습니다. 클래스 수준은 사용자 정의 숫자/색상/등의 간단한 구조에 가장 적합합니다.이 구조는 범용 변환기를 갖습니다. 보다 복잡한 경우에는 속성 수준에서 다른 형식 변환기를 등록 할 수 있으므로 동일한 "Hand"형식의 세 가지 속성이 서로 다른 변환 논리를 사용할 수 있습니다.

이것은 TypeConverters 용입니다. 이것 만이 아닙니다. Properties 창은 그보다 훨씬 강력합니다. 예를 들어, Color picker를 보았을 것입니다. TypeConverter를 제외하고 편집자와 IIRC, 전체 디자이너까지 등록 할 수 있습니다. 우선 여기를 참조하십시오 : http://msdn.microsoft.com/en-us/library/ms171840.aspx

사이드 참고 :
를 윈폼이 보이지만 조금 '죽은'는 WPF/XAML 폭발 후, 오래된 프레임 워크와 디자인 타임 기능을 통해 달성 할 수있는 금액에 때때로 놀라운 일이다. 예를 들어 - XAML은 "첨부 된 속성"이라는 새로운 기능을 보급했습니다. 여기에서도 해당 기능을 구현하는 것이 매우 쉽습니다. 핵심 현지화 구성 요소조차도이 기능을 사용합니다. 그러나 이것은 상당히 용서할 수없는 환경이 될 수 있으며 VisualStudio를 불안정하게 만드는 것은 쉽습니다. 모든 시간을 절박한 .Designer.cs 처리 기능을 추가하면 양식 코드의 일부가 실수로 사라질 수 있습니다. 편집자와 함께하기 전에 백업 해 두십시오. TypeConverter는 훨씬 안전합니다!

+0

하하, 실제로 당신이 그것을 간질 때 디자이너는 매우 불안정합니다 : P는. 대답 주셔서 감사합니다. –

관련 문제