TextBox 数字,范围限制

2024-06-15 15:38
文章标签 范围 限制 数字 textbox

本文主要是介绍TextBox 数字,范围限制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

直接上代码


        /// <summary>/// 文本框文本输入事件/// </summary>private void txt_PreviewTextInput(object sender, TextCompositionEventArgs e){Regex regex = new Regex("^[0-9]+$");e.Handled = !regex.IsMatch(e.Text);if (e.Handled)return;try{TextBox txtBox = sender as TextBox;string strTag = txtBox.Tag.ToString().Replace("Seconds", "").Replace("ms", "").Replace("s", "").Replace("d", "").Replace("%", "").Replace("(", "").Replace(")", "").Replace("(", "").Replace(")", "");string strText = txtBox.Text + e.Text;int max = 0;int min = 0;if (!string.IsNullOrWhiteSpace(strTag)){string[] strs = strTag.Split('-');max = min = int.Parse(strs[0]);foreach (string str in strs){int num = int.Parse(str);if (num < min)min = num;if (num > max)max = num;}}int number = int.Parse(strText);if (number >= min && number <= max)e.Handled = false;else{e.Handled = true;if (number < min)txtBox.Text = min.ToString();if (number > max)txtBox.Text = max.ToString();}}catch (Exception ex){e.Handled = true;}}/// <summary>/// 键盘按键事件/// 禁用粘贴/// </summary>private void txt_PreviewKeyDown(object sender, KeyEventArgs e){TextBox txtBox = sender as TextBox;if (txtBox.SelectionLength > 0)txtBox.Select(txtBox.Text.Length, 0);if ((e.KeyStates == Keyboard.GetKeyStates(Key.LeftCtrl) || e.KeyStates == Keyboard.GetKeyStates(Key.RightCtrl)) && e.KeyStates == Keyboard.GetKeyStates(Key.V))e.Handled = true;elsee.Handled = false;if (e.KeyStates == Keyboard.GetKeyStates(Key.Back)){try{string strTag = txtBox.Tag.ToString().Replace("Seconds", "").Replace("ms", "").Replace("s", "").Replace("d", "").Replace("%", "").Replace("(", "").Replace(")", "").Replace("(", "").Replace(")", "");string strText = txtBox.Text.Remove(txtBox.Text.Length - 1, 1);int max = 0;int min = 0;if (!string.IsNullOrWhiteSpace(strTag)){string[] strs = strTag.Split('-');max = min = int.Parse(strs[0]);foreach (string str in strs){int num = int.Parse(str);if (num < min)min = num;if (num > max)max = num;}}if (strText.Length == 0){txtBox.Text = min.ToString();e.Handled = true;return;}int number = int.Parse(strText);if (number >= min && number <= max)e.Handled = false;else{e.Handled = true;if (number < min)txtBox.Text = min.ToString();if (number > max)txtBox.Text = max.ToString();}}catch (Exception ex){e.Handled = false;}}}



这篇关于TextBox 数字,范围限制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1063871

相关文章

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

使用Python合并 Excel单元格指定行列或单元格范围

《使用Python合并Excel单元格指定行列或单元格范围》合并Excel单元格是Excel数据处理和表格设计中的一项常用操作,本文将介绍如何通过Python合并Excel中的指定行列或单... 目录python Excel库安装Python合并Excel 中的指定行Python合并Excel 中的指定列P

SpringBoot实现基于URL和IP的访问频率限制

《SpringBoot实现基于URL和IP的访问频率限制》在现代Web应用中,接口被恶意刷新或暴力请求是一种常见的攻击手段,为了保护系统资源,需要对接口的访问频率进行限制,下面我们就来看看如何使用... 目录1. 引言2. 项目依赖3. 配置 Redis4. 创建拦截器5. 注册拦截器6. 创建控制器8.

Linux限制ip访问的解决方案

《Linux限制ip访问的解决方案》为了修复安全扫描中发现的漏洞,我们需要对某些服务设置访问限制,具体来说,就是要确保只有指定的内部IP地址能够访问这些服务,所以本文给大家介绍了Linux限制ip访问... 目录背景:解决方案:使用Firewalld防火墙规则验证方法深度了解防火墙逻辑应用场景与扩展背景:

如何提高Redis服务器的最大打开文件数限制

《如何提高Redis服务器的最大打开文件数限制》文章讨论了如何提高Redis服务器的最大打开文件数限制,以支持高并发服务,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录如何提高Redis服务器的最大打开文件数限制问题诊断解决步骤1. 修改系统级别的限制2. 为Redis进程特别设置限制

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (

poj 2135 有流量限制的最小费用最大流

题意: 农场里有n块地,其中约翰的家在1号地,二n号地有个很大的仓库。 农场有M条道路(双向),道路i连接着ai号地和bi号地,长度为ci。 约翰希望按照从家里出发,经过若干块地后到达仓库,然后再返回家中的顺序带朋友参观。 如果要求往返不能经过同一条路两次,求参观路线总长度的最小值。 解析: 如果只考虑去或者回的情况,问题只不过是无向图中两点之间的最短路问题。 但是现在要去要回

poj 3422 有流量限制的最小费用流 反用求最大 + 拆点

题意: 给一个n*n(50 * 50) 的数字迷宫,从左上点开始走,走到右下点。 每次只能往右移一格,或者往下移一格。 每个格子,第一次到达时可以获得格子对应的数字作为奖励,再次到达则没有奖励。 问走k次这个迷宫,最大能获得多少奖励。 解析: 拆点,拿样例来说明: 3 2 1 2 3 0 2 1 1 4 2 3*3的数字迷宫,走两次最大能获得多少奖励。 将每个点拆成两个

poj 2195 bfs+有流量限制的最小费用流

题意: 给一张n * m(100 * 100)的图,图中” . " 代表空地, “ M ” 代表人, “ H ” 代表家。 现在,要你安排每个人从他所在的地方移动到家里,每移动一格的消耗是1,求最小的消耗。 人可以移动到家的那一格但是不进去。 解析: 先用bfs搞出每个M与每个H的距离。 然后就是网络流的建图过程了,先抽象出源点s和汇点t。 令源点与每个人相连,容量为1,费用为