2012-10-29 2 views
2

내 사용자 정의 Texbox에서 커서 등록 정보를 무시하는 데 문제가 있습니다. 문제는 양식에 사용자 정의 텍스트 상자를 추가하고 Cursur 값을 변경하면 속성이 디자이너에 표시되지 않고 직렬화되지 않는다는 것입니다.사용자 정의 텍스트 상자에서 커서 등록 정보 덮어 쓰기

public new Cursor Cursor 
{ 
    get { return this.cursor; } 
    set { this.cursor = value; } 
} 

내가 좋아하는 디자이너 뭔가 기대 : 나는 다른 속성을 오버라이드 (override)하는 경우, 문제가 지속되지 않는

... 
customTextBox1.Cursor = System.Windows.Forms.Cursors.Hand; 
... 

.

+0

왜 기본 속성을 사용할 수있을 때 해당 속성을 재정의하겠습니까? –

답변

0

당신은 new을 사용하고, 그래서 언제든지 클래스가 Control 또는 Textbox이 호텔의 Control 클래스의 버전을 사용하는 것 중 하나로서 취급되고, 재산을 만들 수 override를 사용하지 않는, 아니 당신, 그리고 그것은 종종 이런 유형의 환경에서 발생합니다.

만약 ControlCursor이라고 생각하는 방식을 변경하려면 새로운 것이 아닌 override을 사용해야합니다. 추가 속성을 추가하려는 경우 기존 속성을 섀도 잉하는 대신 속성을 완전히 다른 이름으로 지정하는 것이 좋습니다.

+0

죄송합니다. 속성은 가상으로 선언되었습니다. 'public virtual Cursor Cursor {get; 세트; }'(from msdn) – kikka

+0

@kikka 이상하게 생각하지 않았습니다. 그에 따라 업데이트됩니다. – Servy

관련 문제