我有一个问题,我创建了一个从 TextBox 继承的自定义控件,我需要在其中覆盖Text
属性和OnKeyPress
orOnKeyUp
事件。
- text 属性被覆盖以显示与文本框的实际值不同的值(用于单位转换)
- 我目前尝试添加的 OnKeyPress/OnKeyUp 仅允许输入数值。
当 KeyPress 事件被触发时,被更新的文本base.Text
不是我的覆盖......关于我如何克服这个问题的任何想法?
public override string Text
{
get
{
return base.Text;
}
set
{
displayValue = parse;
base.Text = this.ContainsFocus ? displayValue.ToString() : displayValue.ToString("N3");
}
}
protected override void OnKeyUp(KeyEventArgs e)
{
e.Handled = true;
if ((e.KeyCode >= Keys.D0 && e.KeyCode <= Keys.D9) ||
(e.KeyCode >= Keys.NumPad0 && e.KeyCode <= Keys.NumPad9) ||
e.KeyCode == Keys.Decimal)
{
e.Handled = false;
}
//Code to only accept numerical buttons
base.OnKeyUp(e);
}