覆盖自定义文本框中的游标属性

时间:2012-10-29 14:15:29

标签: c# properties cursor override

我在自定义文本框中覆盖了Cursor属性存在问题。问题是当我将自定义文本框添加到表单并更改Cursur的值时,该属性将不会显示在设计器中,它不会被序列化。

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

我希望在设计师中有类似的东西:

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

如果我覆盖其他属性,则问题不会持续存在。

1 个答案:

答案 0 :(得分:0)

您没有使用override创建属性,而是使用new,因此只要将该类视为ControlTextbox,它将使用属性的Control类'版本,而不是你的,并且......通常,在这种类型的环境中。

如果您确定要更改Control认为Cursor的方式,则需要使用override,而不是新的。{1}}。如果您只想添加其他属性,则应考虑为该属性提供完全不同的名称,而不是隐藏现有属性。