"선택한 색상"을 갖도록 TextBox를 확장하는 IExtenderProvider의 Extender 구성 요소가 있습니다. 이 색상의 기본값은 "강조 표시"입니다. 사용자는 Extender의 속성 표에서 "기본 선택 색상"을 변경할 수 있습니다. 확장 된 TextBox에 "selected color"가 정의되어 있지 않으면 지정된 "default deleted color"값을 사용합니다.속성 표에있는 컨트롤의 확장 속성에 "재설정"명령 추가
프로그래머가 TextBox의 "선택한 색상"을 변경 한 경우 Extender 구성 요소에서 정의한대로 "선택한 색상"을 "선택한 색상"으로 재설정하는 속성 격자에서 "재설정"명령을 제공하려고합니다 .
어떻게 확장 컨트롤의 속성 표 값에 "재설정"명령을 추가하고 해당 확장 속성을 확장기에서 제공하는 기본값으로 "재설정"합니까?
은 내가 확장 속성을 마우스 오른쪽 버튼으로 클릭하고 는 확장에 정의 된가 기본값으로 속성을 복원하려면 재설정을 선택 할 수 있도록합니다.
(Defining Default Values with the ShouldSerialize and Reset Methods : http://msdn.microsoft.com/en-us/library/53b8022e.aspx 참조) 분명히 이것은 작동하지 않습니다.
Public Sub ResetGetMyProperty()
MyProperty = "Hello World!"
End Sub
Extender의 속성에서 "재설정"하기 때문에 다음을 사용할 수 없습니다. 아래와 같이 프로그래머가 디폴트 값을 변경할 수 있기 때문에, 그렇지 않은 어느 일정해야하므로
Public Sub ResetMyProperty()
MyProperty = "Hello World!"
End Sub
I는 DefaultValue
를 사용할 수 없다. Me.Property이 속성 그리드를 통해 프로그래머가 지정한 값 때문에
<DefaultValue("Hello World!")> _
Public Sub GetMyProperty(control As Control) As String
Return _extendees(control).MyProperty
End Sub
나는 <DefaultValue(Me.Property)>
뭔가를해야합니다. (내가 할 수없는 이유는 Me.Property
이 상수가 아니기 때문입니다.)
[설명] 익스텐더 자체는 속성을가집니다. 이것은 모든 확장 된 컨트롤의 기본값입니다. 프로그래머가 특정 확장 된 컨트롤에 대해 "재정의"값을 지정하지 않으면 기본값이 사용됩니다. Extender의 작성자 인 "강조 표시"라고 말하면서, 내 Extender의 사용자가 "red"를 기본값으로하고 싶다면, Extender의 속성을 변경해야합니다. 이제이 확장 속성을 정의하지 않은 확장 컨트롤은 "red"를 사용합니다. 그러나 값을 지정한 컨트롤은이 "빨간색"으로 "재설정"할 수 없습니다. DefaultValue는 적용되지 않습니다. (현재 기본값을 설정하는 유일한 방법은 디자이너에서 코드를 삭제하는 것입니다.)
제안 사항이 있으십니까?
위의 코드 조각에서 Color를 사용하지 않는다는 점에 유의하십시오. 왜냐하면 내가 설명하려고하는 것을 복잡하게하기 때문입니다.
나는 귀하의 질문을 정말로 이해하지 못했습니다. 좀 더 설명해 주시겠습니까? –