2012-10-29 104 views
2

我有我的自定義文本框中覆蓋Cursor屬性的問題。問題是,當我將自定義文本框添加到表單並更改Cursur的值時,該屬性將不會顯示在設計器中,而不會被序列化。覆蓋自定義文本框中的遊標屬性

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

我希望在設計師是這樣的:

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

如果我重寫其他屬性,該問題不存在。

+0

爲什麼你會覆蓋該屬性,當你可以使用默認的? –

回答

0

您沒有使用override創造的財產,你正在使用new,所以任何時候類被視爲無論是ControlTextbox它將使用該屬性的Control類的版本,不是你的,這就是......在這種環境中。

如果您確定要改變Control認爲它是Cursor的方式,則需要使用override而不是新的。如果你只是想添加一個額外的屬性,你應該考慮給該屬性一個完全不同的名稱,而不是遮蔽現有的屬性。

+0

對不起,但該屬性被宣佈爲虛擬 '公共虛擬光標光標{get;組; }(來自msdn) – kikka

+0

@kikka奇怪,我不會想到。會相應更新。 – Servy