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));
}

最好的方法是什么?是否基于文本框创建新的文本框类?谢谢

c#对所有文本框应用相同的规则

在方法中将您的"tb_text1"变量替换为"((TextBox)sender)",现在您可以将您的代码用于任何文本框。

使用javascript很容易做到这一点。请尝试一下。我已经完成了,我现在找不到那个段代码。这是值得付出的努力,因为它将非常快,并将在客户端运行。