Jat*_*ing 0 c# inheritance textbox winforms
我想创建一个继承自 System.Windows.Forms.TextBox 的新类,并将 keypress 和 keyup 事件分配给我的控件。
像这样的东西:
class CurrencyTextbox : TextBox
{
private void CurrencyTextbox_KeyPress(object sender, KeyPressEventArgs e)
{
char ch = e.KeyChar;
if (!Char.IsDigit(ch) && ch != 8 && ch != 13)
{
e.Handled = true;
}
}
private void CurrencyTextbox_KeyUp(object sender, KeyEventArgs e)
{
if (!string.IsNullOrEmpty(CurrencyTextbox.Text))
{
System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("en-US");
Int64 valueBefore = Int64.Parse(CurrencyTextbox.Text, System.Globalization.NumberStyles.AllowThousands);
CurrencyTextbox.Text = String.Format(culture, "{0:N0}", valueBefore);
CurrencyTextbox.Select(CurrencyTextbox.Text.Length, 0);
}
}
}
Run Code Online (Sandbox Code Playgroud)
您应该覆盖protected virtual void OnKeyUp(KeyEventArgs e).
请务必致电base.OnKeyUp(e),否则该事件将不会引发。
您还可以通过编写添加常规事件处理程序KeyUp += CurrencyTextbox_KeyUp
| 归档时间: |
|
| 查看次数: |
6631 次 |
| 最近记录: |