gkket 发表于 2021-9-12 15:48:23

Winform TextBox (文本框) 控件只能输入整数, 整型数字, 且第一...

Winform TextBox (文本框) 控件只能输入整数, 整型数字, 且第一位不能是 0using System;
using System.Windows.Forms;

namespace DemoWinForm
{
    public partial class Form1 : Form
    {
      public Form1()
      {
            InitializeComponent();
      }
    }

    /// <summary>
    /// 文本框 - 只能输入整型且第一位不能是0
    /// 禁止粘贴
    /// </summary>
    public class TextBoxExInt : TextBox
    {
      /// <summary>
      /// 构造函数
      /// </summary>
      public TextBoxExInt()
      {
      }

      #region 禁止粘贴
      /// <summary>
      /// 重写基类的WndProc方法
      /// </summary>
      /// <param name="m"></param>
      protected override void WndProc(ref Message m)
      {
            if (m.Msg == 0x0302)            // 0x0302是粘贴消息
            {
                m.Result = IntPtr.Zero;   // 拦截此消息
                return;
            }
            base.WndProc(ref m);            // 若此消息不是粘贴消息,则交给其基类去处理
      }
      #endregion

      #region 重写方法
      /// <summary>
      /// 重写方法
      /// 只能输入整型
      /// </summary>
      /// <param name="e"></param>
      protected override void OnKeyPress(KeyPressEventArgs e)
      {
            base.OnKeyPress(e);
            if (e.KeyChar != '\b')// 允许输入退格键
            {
                // 最多8位数金额
                if (this.Text.Length == 8) { e.Handled = true; }

                // 整型第一个不能输入0
                if (this.TextLength == 0)
                {
                  if (e.KeyChar == '0') { e.Handled = true; ; }
                }

                // 只允许输入0-9数字
                if ((e.KeyChar < '0') || (e.KeyChar > '9'))
                {
                  e.Handled = true;
                }
            }
      }
      #endregion
    }
}



wuyueqiang57 发表于 2021-9-12 15:56:49

真是难得给力的帖子啊。

wx_QLV2afoy 发表于 2021-9-12 16:00:50

真是被感动的痛哭流涕……

小白 发表于 2025-11-13 18:04:50

浅蹲一个后续,楼主更新踢我一下

smhy0216 发表于 2025-11-13 18:18:13

来凑个热闹,为楼主增加点人气!

2823888240 发表于 2025-11-13 18:42:02

赞同 + 10086,没毛病,完全没毛病

zoroseo2020 发表于 2025-11-13 19:04:56

浅评一下:内容优质,值得推荐~

平异 发表于 2025-11-13 19:17:39

说得对!狠狠赞同,没毛病~

zzl 发表于 2025-11-13 19:23:15

谁懂啊!真的被戳中笑点 / 泪点了

158288198251 发表于 2025-11-13 20:06:12

来凑个热闹,增加点人气~
页: [1] 2
查看完整版本: Winform TextBox (文本框) 控件只能输入整数, 整型数字, 且第一...