我在自定义Texbox中的光标属性覆盖了问题。问题在于,当我将自定义文本框添加到表单中并更改Cursur的值时,该属性不会在设计人员中显示,它不会序列化。
public new Cursor Cursor
{
get { return this.cursor; }
set { this.cursor = value; }
}
我希望设计师类似:
...
customTextBox1.Cursor = System.Windows.Forms.Cursors.Hand;
...
如果我覆盖了其他属性,则问题不会持续。
您不使用override
来创建属性,使用new
,因此每当类被视为Control
或Textbox
时,它都会使用Control
类'版本'属性,而不是您的财产,这通常是在这种类型的环境中。
如果您真的确定要更改Control
认为它的Cursor
的方式,则需要使用override
,而不是新的。如果您只想添加额外的属性,则应考虑给该属性一个完全不同的名称,而不是阴影现有属性。