我在自定义文本框中覆盖了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
,因此只要将该类视为Control
或Textbox
,它将使用属性的Control
类'版本,而不是你的,并且......通常,在这种类型的环境中。
如果您确定要更改Control
认为Cursor
的方式,则需要使用override
,而不是新的。{1}}。如果您只想添加其他属性,则应考虑为该属性提供完全不同的名称,而不是隐藏现有属性。