防止 C# 中出现重复代码

本文关键字:代码 防止 | 更新日期: 2023-09-27 17:56:24

我正在使用 C# 在 win 窗体中编写桌面应用程序。我使用以下代码将我的文本框转换为数字文本框:

 private void txtPrice_KeyPress(object sender, KeyPressEventArgs e)
    {
        //if (!char.IsControl(e.KeyChar)
        //   && !char.IsDigit(e.KeyChar)
        //   && e.KeyChar != '.')
        //          {
        //           e.Handled = true;
        //          }
        if(!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
        {
            e.Handled = true; 
        }              
    }

是蚂蚁设计模式还是技术,上面代码只写一次,每次都不写,每次都写表单中的每个文本框?

防止 C# 中出现重复代码

对 TextBox 类进行子类化,向其添加数字检查,并使用新文本框代替通常的文本框。


如何:创建数字文本框

创建一个名为 numeric textbox 的新组件,该组件继承 TextBoxBase 类。

您在此处编写的代码将不起作用,因为有人可以复制和粘贴文本值。

您必须为此覆盖text_change事件。

如果你想要定制,罗伯特的回答是最好的选择。或者,如果您不知道它,您可以使用内置的 NumericUpDown 控件。

创建一个方法....例如

 private void press(object sender, KeyPressEventArgs e)
    {
      //what ever code here,,,,,,i dont care  
    }

假设您正在使用视觉 studio.net

突出显示或选择文本框或文本框...。

转到属性窗口,,,,,

之后点击闪电图标....或"事件"图标

转到您的 KeyPress 事件-------然后单击下拉按钮

之后添加要由控件实现的方法.......