C#Winform限制Textbox只能输入数字
分类: C# https://www.doczj.com/doc/d73011226.html,2013-01-09 16:09 6012人阅读评论(0) 收藏举报
在Winform(C#)中要实现限制Textbox只能输入数字,一般的做法就是在按键事件中处理,判断keychar的值。限制只能输入数字,小数点,Backspace,del这几个键。数字0~9所对应的keychar为48~57,小数点是46,Backspace是8。
拖一个Textbox到窗体上,添加OnKeyPress事件,在事件写判断的代码,只要判断不是这些键,设置e.Handled的值为true,就可以屏蔽输入。
1.判断是否为数字或Backspace,按下面这样写的话只能输入数字和Backspace,所以还得给代码添加些条件,还要能够输入小数点。
[csharp] view plaincopy 1. private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
2. {
3. try
4. {
5. int kc = (int)e.KeyChar;
6. if ((kc < 48 || kc > 57) && kc != 8)
7. e.Handled = true;
8. }
9. catch (Exception)
10. {
11. }
12.
13. }
2.输入小数点。输入的小数要符合数字的格式,类似9.9.9这样的是不能够输入的。做法就是用float.TryParse来转换Textbox中之前和之后的值,然后比较两者的转换结果。具体的代码如下:
[csharp] view plaincopy
1. if (kc == 46) //小数点
2. {
3. if (txtMoney.Text.Length <= 0)
4. e.Handled = true; //小数点不能在第一位
5. else
6. {
判断页面文本框中输入的类型(数字,符号,字母,汉字)!! 分类:java 2009-06-03 09:45 385人阅读评论(1) 收藏举报 制作表单时限制文本框输入内容的类型,用正则表达式限制文本框只能输入数字、小数点、英文字母、汉字等各类代码。 1.文本框只能输入数字代码(小数点也不能输入) 2.只能输入数字,能输小数点. 3.数字和小数点方法二 4.只能输入字母和汉字 5.只能输入英文字母和数字,不能输入中文 6.只能输入数字和英文 7.小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号:
js alert,confirm,prompt的用法(附加一段有用的alert代码 alert() 弹出个提示框(确定) confirm() 弹出个确认框(确定,取消) prompt() 弹出个输入框让你输入东西 使用消息框 使用警告、提示和确认 可以使用警告、确认和提示消息框来获得用户的输入。这些消息框是 window 对象的接口方法。由于 window 对象位于对象层次的顶层,因此实际应用中不必使用这些消息框的全名(例如 "window.alert()"),不过采用全名是一个好注意,这样有助于您记住这些消息框属于哪个对象。 警告消息框 alert 方法有一个参数,即希望对用户显示的文本字符串。该字符串不是 HTML 格式。该消息框提供了一个“确定”按钮让用户关闭该消息框,并且该消息框是模式对话框,也就是说,用户必须先关闭该消息框然后才能继续进行操作。 window.alert("欢迎!请按“确定”继续。"); 确认消息框 使用确认消息框可向用户问一个“是-或-否”问题,并且用户可以选择单击“确定”按钮或者单击“取消”按钮。confirm 方法的返回值为 true 或 false。该消息框也是模式对话框:用户必须在响应该对话框(单击一个按钮)将其关闭后,才能进行下一步操作。 var truthBeTold = window.confirm("单击“确定”继续。单击“取消”停止。"); if (truthBeTold) { window.alert("欢迎访问我们的 Web 页!"); } else window.alert("再见啦!"); 提示消息框 提示消息框提供了一个文本字段,用户可以在此字段输入一个答案来响应您的提示。该消息框有一个“确定”按钮和一个“取消”按钮。如果您提供了一个辅助字符串参数,则提示消息框将在文本字段显示该辅助字符串作为默认响应。否则,默认文本为 "
JS只能输入数字,数字和字母等的正则表达式 2011-12-07 11:44 JS判断只能是数字和小数点 0.不能输入中文 1) 2)
1.文本框只能输入数字代码(小数点也不能输入) 2.只能输入数字,能输小数点.使用消息框 使用警告、提示和确认 可以使用警告、确认和提示消息框来获得用户的输入。这些消息框是 window 对象的接口方法。由于 window 对象位于对象层次的顶层,因此实际应用中不必使用这些消息框的全名(例如 "window.alert()"),不过采用全名是一个好注意,这样有助于您记住这些消息框属于哪个对象。 警告消息框 alert 方法有一个参数,即希望对用户显示的文本字符串。该字符串不是 HTML 格式。该消息框提供了一个“确定”按钮让用户关闭该消息框,并且该消息框是模式对话框,也就是说,用户必须先关闭该消息框然后才能继续进行操作。 window.alert("欢迎!请按“确定”继续。"); 确认消息框 使用确认消息框可向用户问一个“是-或-否”问题,并且用户可以选择单击“确定”按钮或者单击“取消”按钮。confirm 方法的返回值为 true 或 false。该消息框也是模式对话框:用户必须在响应该对话框(单击一个按钮)将其关闭后,才能进行下一步操作。 var truthBeTold = window.confirm("单击“确定”继续。单击“取消”停止。"); if (truthBeTold) { window.alert("欢迎访问我们的 Web 页!"); } else window.alert("再见啦!"); 提示消息框 提示消息框提供了一个文本字段,用户可以在此字段输入一个答案来响应您的提示。该消息框有一个“确定”按钮和一个“取消”按钮。如果您提供了一个辅助字符串参数,则提示消息框将在文本字段显示该辅助字符串作为默认响应。否则,默认文本为 "
https://www.doczj.com/doc/d73011226.html,中使文本框只能输入数字的方法 编制计算类程序时文本框一般都用于输入数字数据,此时可以通过以下步骤来确保用户输入数据的正确性: 编制计算类程序时文本框一般都用于输入数字数据,此时可以通过以下步骤来确保用户输入数据的正确性: 首先添加好文本框控件TextBox后把属性IMEMode的值改成Disable,这样在该文本框中就不能使用中文输入法了。然后对文本框的KeyPress事件添加以下代码 Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Textbox1.KeyPress If Char.IsDigit(e.KeyChar) Or e.KeyChar = Chr(8) Then e.Handled = False Else e.Handled = True End If End Sub 其中e.KeyChar是键盘输入的键对应的字符,IsDigit函数可以判断是否为0到9的数字,Chr(8)为退格键,当e.Handled为True时,程序认为该KeyPress事件已经被处理过了,文本框的内容也就不会发生变化了。从以上程序中不难看出,此时文本框只能接受数字和退格键,也就是说这个文本框是用来输入整数的。 如果文本需要输入小数的话,就要能够输入小数点".",而且小数点只能输入一次,此时可以将上面的函数改为下面的格式: Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Textbox1.KeyPress If Char.IsDigit(e.KeyChar) or e.KeyChar = Chr(8) or e.KeyChar = "." Then If e.KeyChar = "." And InStr(TextBox1.Text, ".") > 0 Then e.Handled = True Else e.Handled = False End If Else e.Handled = True End If End Sub 其中函数InStr返回指定字符在字符串中的位置,当字符串中不含此字符时,返回一个负数。这时文本框可以用来输入正整数及小数。
1.//以下以失焦时,去掉文本框对应值的前后空格为例;此外存在局部刷新元素也适应,局部刷新 后再调用此方法即可。 2.var funMap = {};//记录页面变动之前的所有元素原始onblur方法 3.var tmpMap = null;//以元素name为key存储onblur方法,存在当前页面原始onblur方 法; 4.function bindOnblurEvent(){//绑定对象类型input(type=text) texttarea 5. var elements = document.getElementsByTagName('form')[0]; 6.tmpMap = {}; 7. if(elements != null){ 8. for ( var i = 0; i
如何在input里面添加邮箱的时候让邮箱后缀自动出来,你一定很想知道,下面我就给您分享下这个代码。 第一部分
正则表达式限制文本框只能输入数字,小数点,英文字母,汉字 正则表达式限制文本框只能输入数字,小数点,英文字母,汉字 1.文本框只能输入数字代码(小数点也不能输入) 2.只能输入数字,能输小数点. 3.数字和小数点方法二 4.只能输入字母和汉字 5.只能输入英文字母和数字,不能输入中文 6.只能输入数字和英文chun
执行上面的小例子,在页面上弹出对话框并显示一句话“上联:山石岩下古木枯”,如下所示:
接着,单击“确认”按钮后再显示第二个对话框并显示“白水泉边少女妙!”,效果如下; 在页面上弹出对话框并显示一句话“上联:山石岩下古木枯”,单击“确认”按钮后再显示第2个对话框并显示“白水泉边少女妙!”我们来分析一下这个小例子: a、在 即可实现效果。 3、光标自动放到文本框: document.form1.yhm.focus();和document.form1.mm.focus(); 位置; 在return false 上面。如图
using System; using System.Collections.Generic; using https://www.doczj.com/doc/d73011226.html,ponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace TextBox控件中判断用户输入的是否是数字 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string str1 = textBox1.Text.Trim(); string str2 = textBox2.Text.Trim(); for (int i = 0; i < str1.Length; i++) { if (!Char.IsNumber(str1[i])) { if (MessageBox.Show("请输入数字!", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK) { //textBox1.Clear();
textBox1.Focus(); textBox1.SelectAll(); return; } } } for (int j = 0; j < str2.Length; j++) { if (!Char.IsNumber(str2[j])) { if (MessageBox.Show("请输入数字", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK) { //textBox2.Clear(); textBox2.Focus(); textBox2.SelectAll(); return; } } } } private void textBox3_TextChanged(object sender, EventArgs e) { string str3 = textBox3.Text.Trim(); for (int i = 0; i < str3.Length; i++) { if (!Char.IsNumber(str3[i])) { textBox3.Text = string.Empty; //if (MessageBox.Show("请输入数字", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK) //{ // textBox3.Focus(); // textBox3.SelectAll(); // break; //} } } } }
当界面上要用户输入只有数字的字符时,默认的Textbox是不能胜任的,网上有很多网友们提供了很多的做法,我总结了一下写了一个在C#下的实现,做到了如下的几点: 1:只能输入类似这样的字符:-123456.789;1234.789; 2:在输入的字符串中不能存在两个点符:12456.78//正确;12.456.78//不正确;3:如果表示负数可以在字符串的最前面加一个减号“-”,也只能加到第一个字符的位置; 4:可以用复制粘帖功能和菜单功能,但是只对能正确格式的字符串有效,比如:12.34可以,Abc不可以; 5:只是得到一个字符串,还可以在这个基础上再改进自己所需的,经如添加对十六进制的支持等。 代码如下在.NET下用C#写的: using System; using System.Windows.Forms; namespace NumTextBox { ///
如何让文本框内的提示信息在激活文本框时清空 解决思路: 当需要填写的文本框很多时,在每个文本框内写上提示信息是个不错的办法,但这样一来用户在填写该项时必须先把提示文本删掉,非常不方便。所以应该让文本框更人性化一点,在focus时检查当前值是否为文本框的默认值,是则清空,否则保持不变,而在blur时检查文本框的内容是否为空,是则重置为默认值,否则保持不变。 具体步骤: 1.设置文本框的默认值或提示信息。 2.判断、清空文本框内容的函数。 function cls(){ with(event.srcElement) if(value==defaultValue) value="" } 3.判断、还原文本框内容的函数。 function res(){ with(event.srcElement) if(value=="") value=defaultValue
4.给文本框添加触发事件onfocus和onblur,调用函数处理。完整代码: 注意:本例的方法对大部分表单控件都有效,比如多行文本
这个标题可能比较拗口不好理解,但是我相信所有的人都见过这个效果,大家可以看本站右上角的搜索输入框,默认显示着“输入搜索内容”的提示,当这个in put 输入框获得焦点时,就自动清空等待用户输入,当用户啥也没输入就离开这个input 输入框时,输入框内又再次显示“输入搜索内容”的提示。是不是很常见?很多搜索、登录、表单都会用到这个效果,但是我看了N多个网站,有90%以上是这么实现的: 我是非常反对把javascript 写在html 标签里的,这和style写在html 标签里一样,虽然不违反W3C 标准,但也不推荐这么写。因为: 1、完全没有复用性可言,如果是个表单,输入框很多,每个都需要这样的效果,那就每个都这么处理吗? 2、如果要修改其中的提示文字,费时费力又不好维护。 3、我们倡导结构(html)、表现(css)、行为(javascript)三者分离,这才是一个好的页面。 那要怎么写才能实现这个效果,而且既有复用性,又好维护,又不需要把js 写进html 里呢? 相信我们都有加载jQuery,我就基于j Query 写了一个方法,具体方法如下: 1、html 部分: 2、引入jQuery: 3、执行脚本: $(function() { var inputEl = $(…#input_test?), defVal = inputEl.val(); inputEl.bind({ focus: function() { var _this = $(this); if (_this.val() == defVal){ _this.val(”); } }, blur: function() { var _this = $(this); if (_this.val() == ”){ _this.val(defVal); } } }); })实现的最终效果是一样一样的,或许是我个人的代码洁癖,但我相信,好代码从细节开始!