winform 限制TextBox中只能输入正整数

txt_n是文本框的名字

cs 复制代码
       private void txt_n_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar != '\b')//这是允许输入退格键 
            {
                int len = txt_n.Text.Length;
                if (len < 1 && e.KeyChar == '0')
                {
                    e.Handled = true ;
                }
                else if ((e.KeyChar < '0') || (e.KeyChar > '9'))//这是允许输入0-9数字 
                {
                    e.Handled = true;
                }

            }
        }

KeyPressEventArgs.Handled 属性

获取或设置一个值,该值指示是否处理过 KeyPress 事件。

属性值

类型:System.Boolean

如果处理过事件,则为 true;否则为 false。

解释:

就是说如果将Handled 设为True,那么KeyPress事件将会取消,这样就是说你按下了某个个按键了,但是系统不处理了,等于没按!

sender表示被触发的那个事件的那个控件的对象

相关推荐
李高钢3 小时前
REST vs gRPC 选型对比与迁移实践:从原理到落地
c#·集成·winforms
一个帅气昵称啊4 小时前
.Net C# AI智能体开发-快速开始
开发语言·c#·.net
半亩码田7 小时前
C#转Python第3.6篇:Python 的 @property 比 C# 的 get/set 更灵活
java·python·c#
楠楠子呀12 小时前
独立站聊天转化全链路:从二维码引流到数据复盘
java·javascript·数据仓库·python·c#·自动化·etl
csdn_aspnet13 小时前
C# 第k个最小元素(K’th Smallest Element)
算法·c#·排序算法
影寂ldy13 小时前
Modbus-ASCII 协议 + LRC校验
笔记·网络协议·c#
自己的九又四分之三站台14 小时前
C# 接入 RasterLite2:从原生 DLL 加载到 Coverage、Section、Tile 验证
开发语言·c#·地理信息
好名字都被猪取了-14 小时前
# C# 全栈开发资源包(.NET8/.NET10)
c#
淡海水16 小时前
03-05-线性-Array-List-LinkedList与Span-所有权与成本模型选型
c#·list·编译·array·clr·机器码
瓜皮弟子头很铁16 小时前
使用c#程序打开windows软件
c#