c#对所有文本框应用相同的规则
本文关键字:规则 应用 文本 | 更新日期: 2023-09-27 18:19:28
我有几个文本框,希望用以下规则对它们进行相同的格式化:
// limits to number, control keys, and decimal
// goes to the next text box when enter
private void tb_text1_KeyPress_1(object sender, KeyPressEventArgs e)
{
string newString = Regex.Replace(tb_text1.Text, "[^.0-9]", "");
tb_text1.MaxLength = 6;
e.Handled = (!char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar) && e.KeyChar != '.');
if (e.KeyChar == (char)(Keys.Enter))
{
this.GetNextControl(ActiveControl, true).Focus();
}
}
// removes restricted chars
private void tb_text1_Enter(object sender, EventArgs e)
{
tb_text1.Text = Regex.Replace(tb_text1.Text, "[^.0-9]", "");
}
// applies format at exit
private void tb_text1_Leave(object sender, EventArgs e)
{
tb_text1.Text = string.Format("{0,-6} [Ohm]", decimal.Parse(tb_text1.Text));
}
最好的方法是什么?是否基于文本框创建新的文本框类?谢谢
在方法中将您的"tb_text1"变量替换为"((TextBox)sender)",现在您可以将您的代码用于任何文本框。
使用javascript很容易做到这一点。请尝试一下。我已经完成了,我现在找不到那个段代码。这是值得付出的努力,因为它将非常快,并将在客户端运行。