.NET4.0 使用TextBox控件输入数据

合集下载

VB.NET中的TextBox控件详解

VB.NET中的TextBox控件详解

中的TextBox控件详解TextBox组件(文本框组件)是一种常用的,也是比较容易掌握的组件。

应用程序主要使用它来接收使用者于输入文字信息。

在前面内容中已经或多或少的接触到TextBox组件。

本节就来详细探讨一下Visual Basic .Net中TextBox组件的使用方法。

一.TextBox组件、T extBox类:当我们使用Visual Basic .Net集成开发环境开发应用程序时,在从【工具箱】的【Windows窗体】选项卡中向Form1的设计窗体拖入一个TextBox组件的后,我们可能并没有感觉到即使时这样一个简单的操作,Visual Basic .Net都做了很多幕后工作。

主要工作和步骤如下:1. 首先实例化System.Windows.Forms.TextBox类,并根据拖动到窗体的位置和形状分别设定TextBox实例的各个属性。

2. 我们看到的设计窗体,其实是Form1类的一个实例,而Form1类首先是从System.Windows.Forms.Form类继承而来,Form1类中的成员根据使用者往窗体中拖入的组件不同而不同。

各个成员通过Add或AddRange方法加入到Form1中,这样拖入的组件才能够显示在设计窗体上。

以上这些都完全不同于以前Visual Basic。

通过上述步骤,我们不难得到TextBox组件和TextBox类之间的关系,TextBox组件是命名空间System.Windows.Forms中的T extBox类的实例,在从【工具箱】的【Windows窗体】选项卡中拖入窗体的任一组件,都是.Net框架类库——.Net FrameWork SDK中封装的某一个类的实例。

通过上述步骤也不难看出,Visual Basic .Net的确才是真正的面向对象(OOP)的开发语言。

二.TextBox类的成员:TextBox组件使用虽然比较简单,但T extBox类的构成成员却是非常的丰富。

.NET中TextBox控件设置ReadOnly=true后台取不到值解决方法

.NET中TextBox控件设置ReadOnly=true后台取不到值解决方法

.NET中TextBox控件设置ReadOnly=”true”后台取不到值解决方法在.NET 2.0 下,当页面上的某个TextBox 设置了属性ReadOnly="True"时,通过客户端脚本给其赋值后,在后台代码中访问其Text属性却无法获得该值,值为null。

有时我们需要能通过前台脚本来填充值,并不希望用户修改其控件内容,这时就比较尴尬了。

经过尝试,发现可以通过如下的方式解决这个问题:方法一:不设置ReadOnly属性,通过onfocus=this.blur()来模拟,如下:<asp:TextBox ID="TextBox1" runat="server" onfocus=this.blur()></asp:TextBox>在此情况下,当文本框获得焦点时便立刻失去,所以也无法手动修改其内容,能够模拟ReadOnly,在后台代码中也能通过Text属性,正常获取通过脚本在客户端设置的值;方法二:设置了ReadOnly属性后,通过Request来取值,如下:前台代码:<asp:TextBox ID="TextBox1" runat="server" ReadOnly="True" ></asp:TextBox>后台代码:string Text = Request.Form["TextBox1"].Trim();方法三:在Page_Load()中设置文本框的只读属性,在前台不设置。

就能正常读取,如下:protected void Page_Load(object sender, EventArgs e){if (!Page.IsPostBack){TextBox1.Attributes.Add("readonly","true");}}方法四:在TextBox的HTML标签中加入ContentEditable="false",这种方法简单,在IE 中很好用方法五:给该控件加上验证控件进行验证方法六:使用服务器端的隐藏控件,还需要加入JavaScript代码,当用户选择设置为ReadOnly 的TextBox之后把填在该控件中的信息使用JavaScript代码填写到添加的服务器端隐藏控件中,该方法最麻烦。

文本框控件(TextBox)的常用属性

文本框控件(TextBox)的常用属性

文本框控件(TextBox)的常用属性1.03、文本框控件(TextBox)的常用属性属性说明(Name)文本框控件的名称Alignment 设置Caption属性文本的对齐方式, 取值为:0 左对齐1 右对齐2 中间对齐Appearance 是否用立体效果绘制,取值为:0 平面1 3D(立体)BackColor背景颜色,可从弹出的调色板选择。

BorderStyle 设置边界样式,取值为:0 None(无边界线)1 FixedSingle(固定单线框)CauseValidation 该控件获得焦点时,失去焦点的控件的Validate 事件是否发生。

取值为:True 发生False 不发生DataField获得或设置一个值,将控件绑定到当前记录的一个字段DataFormat返回数据格式对象,用于该部件的可绑定性(打开属性页) DataMember获得或设置一个值,为数据连接描述数据成员DataSource设置一个数值,指出数据控件通过它将当前控件绑定到数据库DragIcon该对象在拖动过程中鼠标的图标DragMode 该对象的拖动模式,取值为:0 Manual(手动)1 Automatic(自动)Enabled 用于设定是否对事件产生响应,取值为:True 可用False 不可用,在执行程序时,该对象用灰色显示,并且不响应任何事件Font字型,可从弹出的对话框选择字体,大小和风格ForeColor前景颜色,可从弹出的调色板选择。

Height文本框控件的高度HelpContextID指定一个对象的缺省帮助文件上下文标识符HideSelection 当控件失去焦点时选定文本是否不加强显示。

取值为:True 不加强显示,此为默认值False 加强显示IMEMode 获得或设置输入方法编辑器的当前操作模式。

取值为:0 No Operation1 ON2 OFF3 DISABLE4 DBCS HIRAGANA5 DBCS KATAKANA6 SBCS KATAKANA7 DBCS ALPHABET8 SBCS ALPHABET9 DBCS HANGUL10 SBCS HANGULIndex在对象数组中的编号Left距离容器左边框的距离LinkItem 获得或设置传递到目标控件的数据,该目标控件正在与另一个应用程序进行DDE 会话LinkMode 获得或设置用于DDE会话的链接类型并激活连接,取值为:0 None(无)1 AutoMatic(自动)2 Manual(手动)3 NotifyLinkTimeout获得或设置控件等待响应DDE消息的时间LinkTopic获得或设置目标控件的源应用程序和主题Locked 设置文本框的内容是否可以编辑。

c# .net 控制TextBox只能输入数字

c# .net 控制TextBox只能输入数字

当界面上要用户输入只有数字的字符时,默认的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{/// <summary>/// NumTextBox 的摘要说明。

/// </summary>public class TextBoxNumEx:System.Windows.Forms.TextBox{public const int WM_CONTEXTMENU = 0x007b;//右键菜单消息public const int WM_CHAR = 0x0102; //输入字符消息(键盘输入的,输入法输入的好像不是这个消息)public const int WM_CUT = 0x0300; //程序发送此消息给一个编辑框或combobox来删除当前选择的文本public const int WM_COPY = 0x0301; //程序发送此消息给一个编辑框或combobox来复制当前选择的文本到剪贴板public const int WM_PASTE = 0x0302; //程序发送此消息给editcontrol或combobox从剪贴板中得到数据public const int WM_CLEAR = 0x0303; //程序发送此消息给editcontrol或combobox清除当前选择的内容;public const int WM_UNDO = 0x0304; //程序发送此消息给editcontrol或combobox撤消最后一次操作public TextBoxNumEx(){//// TODO: 在此处添加构造函数逻辑//}protected override void WndProc(ref Message m){switch(m.Msg){case WM_CHAR:System.Console.WriteLine(m.WParam);bool isSign = ((int)m.WParam == 45);bool isNum = ((int)m.WParam >= 48) && ((int)m.WParam <= 57);bool isBack = (int)m.WParam == (int)Keys.Back;bool isDelete = (int)m.WParam == (int)Keys.Delete;//实际上这是一个"."键bool isCtr = ((int)m.WParam == 24) || ((int)m.WParam == 22) || ((int)m.WParam == 26) ||((int)m.WParam == 3);if( isNum || isBack || isCtr){base.WndProc (ref m);}if (isSign){if (this.SelectionStart!=0){break;}base.WndProc (ref m);break;}if (isDelete){if (this.Text.IndexOf(".")<0){base.WndProc (ref m);}}if ((int)m.WParam == 1){this.SelectAll();}break;case WM_PASTE:IDataObject iData = Clipboard.GetDataObject();//取剪贴板对象if(iData.GetDataPresent(DataFormats.Text)) //判断是否是Text{string str = (string)iData.GetData(DataFormats.Text);//取数据if (MatchNumber(str)){base.WndProc (ref m);break;}}m.Result = (IntPtr)0;//不可以粘贴break;default:base.WndProc (ref m);break;}}private bool MatchNumber(string ClipboardText) {int index=0;string strNum = "-0.123456789";index = ClipboardText.IndexOf(strNum[0]);if (index>=0){if (index>0){return false;}index = this.SelectionStart;if (index>0){return false;}}index = ClipboardText.IndexOf(strNum[2]);if (index!=-1){index = this.Text.IndexOf(strNum[2]);if (index!=-1){return false;}}for(int i=0; i<ClipboardText.Length; i++){index = strNum.IndexOf(ClipboardText[i]);if (index <0) {return false; }}return true;}}}。

VB中使文本框只能输入数字的方法

VB中使文本框只能输入数字的方法

中使文本框只能输入数字的方法编制计算类程序时文本框一般都用于输入数字数据,此时可以通过以下步骤来确保用户输入数据的正确性:编制计算类程序时文本框一般都用于输入数字数据,此时可以通过以下步骤来确保用户输入数据的正确性:首先添加好文本框控件TextBox后把属性IMEMode的值改成Disable,这样在该文本框中就不能使用中文输入法了。

然后对文本框的KeyPress事件添加以下代码Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Textbox1.KeyPressIf Char.IsDigit(e.KeyChar) Or e.KeyChar = Chr(8) Thene.Handled = FalseElsee.Handled = TrueEnd IfEnd 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.KeyPressIf Char.IsDigit(e.KeyChar) or e.KeyChar = Chr(8) or e.KeyChar = "." ThenIf e.KeyChar = "." And InStr(TextBox1.Text, ".") > 0 Thene.Handled = TrueElsee.Handled = FalseEnd IfElsee.Handled = TrueEnd IfEnd Sub其中函数InStr返回指定字符在字符串中的位置,当字符串中不含此字符时,返回一个负数。

ASP.NET中TextBox文本输入框控件的使用方法

ASP.NET中TextBox文本输入框控件的使用方法

中TextBox⽂本输⼊框控件的使⽤⽅法TextBox控件⼜称⽂本框控件,为⽤户提供输⼊⽂本的功能。

1.属性TextBox控件的常⽤属性及说明如表1所⽰。

表1 TextBox控件常⽤属性及说明属性说明AutoPostBack获取或设置⼀个值,该值指⽰⽆论何时⽤户在TextBox控件中按〈Enter〉键或〈Tab〉键时,是否⾃动回发到服务器的操作CausesValidation获取或设置⼀个值,该值指⽰当TextBox控件设置为在回发发⽣时进⾏验证,是否执⾏验证ID控件IDText控件要显⽰的⽂本TextMode获取或设置TextBox控件的⾏为模式(单⾏、多⾏或密码)Width控件的宽度Visible控件是否可见ReadOnly获取或设置⼀个值,⽤于指⽰能否只读TextBox控件的内容CssClass控件呈现的样式BackColor控件的背景颜⾊Enabled控件是否可⽤TextBox控件⼤部分属性设置和Label控件类似,具体请参见Label控件属性设置,下⾯主要介绍⼀下TextMode属性。

TextMode属性主要⽤于控制TextBox控件的⽂本显⽰⽅式,该属性的设置选项有以下3种。

 单⾏(SingleLine):⽤户只能在⼀⾏中输⼊信息,还可以选择限制控件接收的字符数。

 多⾏(MultiLine):⽂本很长时,允许⽤户输⼊多⾏⽂本并执⾏换⾏。

 密码(Password):将⽤户输⼊的字符⽤⿊点(●)屏蔽,以隐藏这些信息。

例如:在验证⽤户登录密码时,可以将TextBox控件的TextMode属性设置为Password,其运⾏效果如图1所⽰。

在填写备注资料时,⽂字可能会很多,此时可将TextBox控件的TextMode属性设置为MultiLine,其运⾏结果如图2所⽰。

图1 隐藏登录密码图2 填写备注资料2.⽅法TextBox控件常⽤⽅法同Label控件类似,表2列出了它的⼀些常⽤⽅法。

表2 TextBox控件常⽤⽅法及说明⽅法说明DataBind将数据源绑定到被调⽤的服务器控件及其所有⼦控件上Focus为控件设置输⼊焦点Dispose使服务器控件得以在从内存中释放之前执⾏最后的清理操作Equals确定两个对象实例是否相等TextBox控件的Focus⽅法主要⽤来获得其焦点,例如:⽤户在⼀个含有TextBox控件页⾯的Page_Load事件中编写了如下代码:复制代码代码如下:protected void Page_Load(object sender, EventArgs e){TextBox1.Focus();}运⾏结果如图3所⽰。

关于强制让一个TextBox控件只能输入数字(含小数)的方法

关于强制让一个TextBox控件只能输入数字(含小数)的方法

关于强制让一个TextBox控件只能输入数字(含小数)的方法自已尝试过很多次﹐每次都不是很理想﹐现在尝试将其做成一个用户控件﹐与大家分享﹐同时希望大家能提供出更好的方法﹒using System;using System.Collections.Generic;using ponentModel;using System.Drawing;using System.Data;using System.Text;using System.Windows.Forms;namespace WinERP{public partial class UC_DecimalTextBox : UserControl{private int intLength = 3; // 整数部份的长度private int decimalLength = 2; // 保留小数的位数private ErrorProvider errorProvider; // 用于显示错误信息的ErrorProvider控件[Description("设置整数部份的长度(在1~100之间)")]public int IntLength{get { return intLength; }set{try{if (value < 1){intLength = 1;throw new Exception("整数部份的长序必须是1~100之间");}else if (value > 100){intLength = 100;throw new Exception("整数部份的长序必须是1~100之间");}else{intLength = value;}catch (Exception ex){MessageBox.Show(ex.Message);}finally{if (decimalLength == 0){textBox1.MaxLength = IntLength;}else{textBox1.MaxLength = intLength + decimalLength + 1; }}}}[Description("设置小数部份的长度(在0~10之间)")] public int DecimalLength{get { return decimalLength; }set{try{if (value < 0){decimalLength = 0;throw new Exception("小数部份的长序必须0~10之间"); }else if (value > 10){decimalLength = 10;throw new Exception("小数部份的长序必须0~10之间"); }else{decimalLength = value;}}catch (Exception ex)MessageBox.Show(ex.Message);}finally{if (decimalLength == 0){textBox1.MaxLength = IntLength;}else{textBox1.MaxLength = intLength + decimalLength + 1; }}}}[Description("用于显示错误信息的ErrorProvider控件")] public ErrorProvider ErrorProvider{get { return errorProvider; }set { errorProvider = value; }}[Description("文本框的边框样式")]public BorderStyle TextBoxBorderStyle{get { return textBox1.BorderStyle; }set { textBox1.BorderStyle = value; }}[Description("表示如何对齐TextBox控件中的文字")] public HorizontalAlignment TextAlign{get { return textBox1.TextAlign; }set { textBox1.TextAlign = value; }}[Description("控制是否可以编辑TextBox中的文字")] public bool ReadOnly{get { return textBox1.ReadOnly; }set { textBox1.ReadOnly = value; }}[Description("文本框中的文字")]public override string Text{get { return textBox1.Text; }set { textBox1.Text = value; }}public UC_DecimalTextBox(){InitializeComponent();}// 当控件调整大小时发生private void UC_DecimalTextBox_Resize(object sender, EventArgs e){textBox1.Width = this.Width - 6;this.Height = textBox1.Height + 6; // 固定自定义控件的高﹐不允许调大}private void textBox1_KeyPress(object sender, KeyPressEventArgs e){if ((e.KeyChar >= '0' && e.KeyChar <= '9') || (e.KeyChar == '\b') || (e.KeyChar == '.')){e.Handled = false; // 允许输入int pos = textBox1.SelectionStart;int intLength = textBox1.Text.Length;if ((intLength == textBox1.MaxLength) && (pos < textBox1.MaxLength)){textBox1.SelectionLength = 1;if ((textBox1.SelectedText == ".") && (e.KeyChar != '.')){++textBox1.SelectionStart;}}if ((e.KeyChar == '.') && (textBox1.Text.IndexOf('.') > -1)){e.Handled = true;if ((pos < IntLength - 1) && (textBox1.Text.Substring(pos, 1) == ".")){textBox1.SelectionStart = ++pos;}if ((decimalLength == 0) && (e.KeyChar == '.')) // 如果是保留零位小数﹐则不允许输入点号{e.Handled = true;}}else{e.Handled = true; // 不允许输入}}private void textBox1_KeyUp(object sender, KeyEventArgs e){int pos = textBox1.SelectionStart;string strValue = textBox1.Text.Trim();if (decimalLength == 0){ // 当文本框中只输入整数时while (strValue.Substring(0, 1) == "0"){ // 去除整数部份最前右侧的if (strValue.Length > 1){strValue = strValue.Substring(1, strValue.Length - 1);if (pos > 0){--pos;}}else{break;}}textBox1.Text = strValue;}else{ // 当文本框用于输入小数时int pointPs = strValue.IndexOf('.');if (pointPs < 0)strValue += ".".PadRight(DecimalLength, '0');}if (pointPs == 0){strValue = "0" + strValue;textBox1.SelectionStart = ++pos;}// 自动使其保留两位小数string[] strs = strValue.Split(new char[] { '.' });strs[0] = strs[0].Length > 0 ? strs[0] : "0";// 去除整数部份最前右侧的while (strs[0].Substring(0, 1) == "0"){if (strs[0].Length > 1){strs[0] = strs[0].Substring(1, strs[0].Length - 1);if (pos > 0){--pos;}}else{break;}}// 取得小数字数的数字,如果不足小数字长度﹐则以填补if (strs[1].Length < decimalLength){strs[1] = strs[1].PadRight(decimalLength, '0');}textBox1.Text = strs[0] + "." + strs[1];}textBox1.SelectionStart = pos;}private void textBox1_Validating(object sender, CancelEventArgs e) {if (errorProvider == null)return;}errorProvider.SetError(this, "");double dValue;if (!double.TryParse(textBox1.Text, out dValue)){string strMsg = string.Format("请输入整数部份不超过{0}位﹐且小数字不超过{1}位的有效数字!", IntLength, decimalLength);if (decimalLength == 0){strMsg = string.Format("请输入不超过{0}位的有效整数!", IntLength);}errorProvider.SetError(this, strMsg);e.Cancel = true;}}}}文章来源:北大青鸟 。

Asp.net之TextBox只允许输入数字的方法总结

Asp.net之TextBox只允许输入数字的方法总结

之TextBox只允许输⼊数字的⽅法总结复制代码代码如下:<asp:textbox id="TextBox1" onkeyup="if(isNaN(value))execCommand('undo')" runat="server"Width="80px" onafterpaste="if(isNaN(value))execCommand('undo')"></asp:textbox>其实服务器控件也能加上onkeydown与up等事件的这样就⾏了只能输⼊⼩数与数字在.net开发中,为了确保数据的正确性,经常要⽤户输⼊的内容进⾏验证,⽐喻说只能输⼊数字。

⾸先在TextBox控件中加⼀个属性事件:复制代码代码如下:<asp:textbox class="Text"onkeypress="if (event.keyCode < 48 || event.keyCode >57) event.returnValue = false;"id="txtY_Revenue" style="TEXT-ALIGN: right" runat="server" Width="90%" MaxLength="12"></asp:textbox>键盘按下去时检查按下的是不是0-9,如果不是的话,不将当前的输⼊放⼊⽂本框中说明:此⽅法控制TextBox只输⼊数字:0~9,提供⼀种思路补充:1.取消按钮按下时的虚线框在input⾥添加属性值 hideFocus 或者 HideFocus=true2.只读⽂本框内容在input⾥添加属性值 readonly3.防⽌退后清空的TEXT⽂档(可把style内容做做为类引⽤)复制代码代码如下:<INPUT style=behavior:url(#default#savehistory); type=text id=oPersistInput>4.ENTER键可以让光标移到下⼀个输⼊框复制代码代码如下:<input onkeydown="if(event.keyCode==13)event.keyCode=9" >5.只能为中⽂(有闪动)复制代码代码如下:<input onkeyup="value=value.replace(/[ -~]/g,'')" onkeydown="if(event.keyCode==13)event.keyCode=9">利⽤Ascii码的范围进⾏判断6.只能为数字(有闪动)复制代码代码如下:<input onkeyup="value=value.replace(/[^\d]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">利⽤Ascii码的范围进⾏判断7.只能为数字(⽆闪动)复制代码代码如下:<input style="ime-mode:disabled" onkeydown="if(event.keyCode==13)event.keyCode=9" onKeyPress="if((event.keyCode<48 || event.keyCode>57)) event.returnValue=false">利⽤Ascii码的范围进⾏判断8.只能输⼊英⽂和数字(有闪动)复制代码代码如下:<input onkeyup="value=value.replace(/[\W]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">利⽤js的正则表达式进⾏验证9.屏蔽输⼊法复制代码代码如下:<input type="text" name="url" style="ime-mode:disabled" onkeydown="if(event.keyCode==13)event.keyCode=9">10. 只能输⼊数字,⼩数点,减号(-)字符(⽆闪动)复制代码代码如下:<input onKeyPress="if (event.keyCode!=46 && event.keyCode!=45 && (event.keyCode<48 || event.keyCode>57)) event.returnValue=false">利⽤Ascii码的范围进⾏判断11. 只能输⼊两位⼩数,三位⼩数(有闪动)复制代码代码如下:<input maxlength=9 onkeyup="if(value.match(/^\d{3}$/))value=value.replace(value,parseInt(value/10));value=value.replace(/\.\d*\./g,'.')" onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 && event.keyCode!=45 || value.match(/^\d{3}$/) || /\.\d{3}$/.test(value)) {event.returnValue=false}" id=text_kfxe name=text_kfxe>利⽤js的正则表达式进⾏验证。

ASP.NETc#textbox正则表达式文本框只允许输入数字(验证控件RegularEx。。。

ASP.NETc#textbox正则表达式文本框只允许输入数字(验证控件RegularEx。。。

c#textbox正则表达式⽂本框只允许输⼊数字(验证控件RegularEx。

<input type="text" name="test" onKeyUp="test1.value=(this.value=this.value.replace(/\D/g,'').substring(0,6)).substring(0,3)" > <br /><input name="test1" type="text" >⽤Up和Down有区别只能输⼊数字、字母、下划线<input ID="txtShopNumber" runat="server" class="input_text" maxlength="8" onkeyup="value=value.replace(/[^(\-)\w\.\/]/ig,'')"/>常⽤的正则表达式只能输⼊数字:“^[0-9]*$”只能输⼊n位的数字:“^\d{n}$”只能输⼊⾄少n位数字:“^\d{n,}$”只能输⼊m-n位的数字:“^\d{m,n}$”只能输⼊零和⾮零开头的数字:“^(0|[1-9][0-9]*)$”只能输⼊有两位⼩数的正实数:“^[0-9]+(.[0-9]{2})?$”只能输⼊有1-3位⼩数的正实数:“^[0-9]+(.[0-9]{1,3})?$”只能输⼊⾮零的正整数:“^\+?[1-9][0-9]*$”只能输⼊⾮零的负整数:“^\-[1-9][0-9]*$”只能输⼊长度为3的字符:“^.{3}$”只能输⼊由26个英⽂字母组成的字符串:“^[A-Za-z]+$”只能输⼊由26个⼤写英⽂字母组成的字符串:“^[A-Z]+$”只能输⼊由26个⼩写英⽂字母组成的字符串:“^[a-z]+$”只能输⼊由数字和26个英⽂字母组成的字符串:“^[A-Za-z0-9]+$”只能输⼊由数字、26个英⽂字母或者下划线组成的字符串:“^\w+$”验证⽤户密码:“^[a-zA-Z]\w{5,17}$”正确格式为:以字母开头,长度在6-18之间,正确格式为:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”,“XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。

VBA基础知识,窗体数据录入界面,文本框textbox的常用属性参数

VBA基础知识,窗体数据录入界面,文本框textbox的常用属性参数

在前面的短图文里,我们介绍过关于VBA的一些基础知识,如窗体userform,如标签label.在这期的图文里,咱们将详细的介绍另外一个控件,这就是textbox控件.一,textbox的作用textbox,就是文本框,或者叫做文字框.是VBA里的ActiveX控件.textbox最大的作用就是通过设计的界面化数据录入窗口向指定的位置录入数据的最重要的途径之一.在这里,我们只说是最最重要,因为textbox并非唯一.而所谓指定的位置,在Excel表格里,最常用的是指sheet表,也就是工作表,如果我们是采用VBA+数据库的方式来实现数据管理的话,那么指定的位置便成了数据库了.二,textbox最常用的属性修改1.text属性.毫无疑问,文字框的text属性是最重要的属性,这里,没有之一.没有错,是最重要的属性.在VBA编程里,在初始化过程中,咱们赋给文字框的text属性什么值,它就会呈现给用户什么值.在大多数的使用过程中,在数据的初始化过程中,text的属性值,一般是为空,即,textbox1.t ext=''或者textbox1.value=''也是可以的,当然前者出现的会更多一些.对于个人使用习惯而言,个人习惯使用后者.2.height与width.height指文本框的高度,width指文字框的宽度.在实际的使用过程中,我们可以通过拖拽文字框的方式调整文字框的高度与宽度,当然如果有特殊的使用需求,也可以在窗体的初始化过程中设定文字框的高度与宽度代码如下: text1.height=14text1.width=80当然,上述代码只需要写在窗体的initialize事件里就可以了.3.backcolor属性文本框的背景色设置,这个往往采用默认的颜色设置,但设计者可以根据实际的需要设定背景颜色.个人更加偏爱浅橙色多一点.4.font属性.如果觉得系统默认的小五号的字体更小的话,不妨在font属性里设置字体的大小,除了字号的大小之外,我们还可以设置字型的名称,显示效果等.三.常用代码.1.窗体始化事件的VBA代码.private sub userform_initialize()text1.text=''end sub2.通过文本框向工作表写入数据的代码一般是通过命令按钮的单击事件来实现的,代码如下:private sub command_click()cells(4,10).value=text1.textend sub代码解析:把text1的文本写入单元格第4行第10列的单元格里.文本框还是比较简单一些的ActiveX控件,在这里,我们就简单的介绍至此,如果有感兴趣的朋友想学习更多的VBA知识,从而更好的解决自己所遇到的工作中的难题,不妨自己在Excel的VBA里动手一试.毕竟自己动手才会获得最真实的体验.。

textbox控件用法

textbox控件用法

textbox控件用法
TextBox控件在编程中常用于输入和显示文本。

以下是TextBox控件的一些基本用法:
1.创建TextBox控件:在编程环境中,通常可以通过拖拽或直接编写代码来创建
TextBox控件。

例如,在Windows窗体应用程序中,可以通过在设计器中拖拽一个TextBox控件到窗体上,或者通过代码创建一个TextBox对象。

2.设置属性:TextBox控件具有许多属性,可以用来设置文本框的外观和行为。


如,可以设置文本框的宽度、高度、边框样式、背景颜色等。

3.获取和设置文本:通过TextBox控件的Text属性,可以获取或设置文本框中的
文本内容。

例如,可以使用textBox1.Text来获取文本框中的文本,或者使用textBox1.Text = "新的文本"来设置文本框中的文本。

4.监听事件:TextBox控件可以响应多种事件,例如鼠标点击事件、键盘输入事件
等。

通过编写事件处理程序,可以对这些事件进行处理。

例如,可以在用户在文本框中输入文本时,实时更新文本框中的内容。

5.验证输入:可以使用TextBox控件的KeyPress、KeyUp或TextChanged事件来验
证用户输入的内容是否符合要求。

例如,可以通过判断用户输入的密码是否符合要求,或者在用户输入完所有内容后进行格式验证等。

以上是TextBox控件的一些基本用法,具体使用方式可能会因编程语言和开发环境的不同而有所差异。

visual studio textbox控件用法

visual studio textbox控件用法

Visual Studio的TextBox控件是用于显示和接收文本输入的窗体控件。

以下是使用TextBox控件的一般步骤:
1. 在Visual Studio中创建一个Windows Forms应用程序或打开现有的项目。

2. 打开窗体设计器,将TextBox控件拖放到窗体上。

您可以在工具箱中找到TextBox 控件,它通常位于"常用控件"或"Windows Forms"选项卡中。

3. 调整TextBox控件的大小和位置,以适应您的需求。

您可以使用属性窗格来设置控件的属性,例如大小、位置、字体、颜色等。

4. 在需要时,您可以通过更改Multiline属性来启用多行文本输入。

5. TextBox控件提供了一系列属性和事件,可用于操作和处理文本输入。

例如,Text 属性用于获取或设置TextBox中的文本内容,TextChanged事件在文本发生更改时触发,KeyDown事件在按下键盘按键时触发,等等。

您可以在代码中访问这些属性和事件,并根据需要进行操作和处理。

6. 您还可以使用其他方法和属性来操作TextBox控件,例如SelectAll()方法用于选择TextBox中的所有文本,Clear()方法用于清空TextBox中的文本,等等。

这只是TextBox控件的基本用法介绍,您可以根据具体的需求进一步深入学习和使用TextBox控件的更多功能。

1。

.net(c#) winform文本框只能输入数字,不能其他非法字符

.net(c#) winform文本框只能输入数字,不能其他非法字符

.net(c#) winform文本框只能输入数字,不能其他非法字符C#的winform中控制TextBox中只能输入数字(加上固定位数和首位不能为0)给个最简单的方法:private void textBox3_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e){//阻止从键盘输入键e.Handled = true;if(e.KeyChar>='0' && e.KeyChar <='9'){e.Handled = false;}}或者private void tbID_KeyPress(object sender, KeyPressEventArgs e){if (!((e.KeyChar >= '0' && e.KeyChar <= '9') || e.KeyChar == ' '))//不输入输入除了数字之外的所有非法字符的判断{e.Handled = true;}}多条件的:private void TxtUser_KeyPress(object sender, KeyPressEventArgs e){//阻止从键盘输入键e.Handled = true;if ((e.KeyChar >= '0' && e.KeyChar <= '9') || (e.KeyChar == (char)8)){if ((e.KeyChar == (char)8)) { e.Handled = false; return; }else{int len = TxtUser.Text.Length;if (len < 5){if (len == 0 && e.KeyChar != '0'){e.Handled = false; return;}else if(len == 0){MessageBox.Show("编号不能以0开头!"); return;}e.Handled = false; return;}else{MessageBox.Show("编号最多只能输入5位数字!");}}}else{MessageBox.Show("编号只能输入数字!");}}。

.NET4.0 服务器控件概述

.NET4.0 服务器控件概述

4.0 服务器控件概述Web 服务器控件(Web server control)属于System.Web.UI.WebControls命名空间的服务器控件。

Web服务器控件比HTML服务器控件更丰富、更抽象。

Web服务器控件在页上有asp标记前缀,例如<asp:Button runat="server"/>。

在 2.0中,Web服务器控件是指在服务器上执行程序逻辑的组件。

这个组件可能生成一定的用户界面,也可能不包括用户界面。

每个服务器控件都包含一些成员对象,以便开发人员调用,例如,属性、事件、方法等。

通常情况下,服务器控件都包含在页面中。

当运行页面时,.NET执行引擎将根据控件成员对象和程序逻辑定义完成一定的功能。

例如,在客户端呈现用户界面。

这时,用户可与控件发生交互行为,当页面被用户提交时,控件可在服务器端引发事件,并由服务器端根据相关事件处理程序来进行事件处理。

服务器控件是WebForm编程模型的重要元素,它们构成了一个新的、基于控件的表单程序的基础。

通过这种方式可以简化Web应用程序的开发,提高应用程序的开发效率。

服务器控件的广泛应用,简化了应用程序的开发,提高了工作效率。

那么,何时应创建并使用自定义服务器控件呢?下面列举了在三种具体适用情况:●某个现有服务器控件基本符合应用要求,但是,缺少某些特殊的功能,这时可以通过从现有控件中派生并重写其属性、方法或事件来自定义服务器控件。

●需要使用的服务器控件结合了两个或多个现有控件的功能,例如,封装一个按钮和一个文本框的复合控件。

此时可以通过创建服务器控件达到这一目的。

●现有服务器控件(或其组合)均不符合应用的要求。

对于这种情况,可以通过从基类派生的方式来创建自定义服务器控件。

1.服务器控件特性Web服务器控件特性经过总结可分为五种,详细介绍如下:●功能丰富的对象模型,该模型具有类型安全编程功能。

由于Web服务器控件是框架全新封装提供的新控件,因此其具有严格的类型安全检查。

winform验证textbox只能输入数字或中文正则表达式

winform验证textbox只能输入数字或中文正则表达式

winform验证textbox只能输入数字或中文正则表达式验证数字的正则表达式集验证数字:^[0-9]*$验证n位的数字:^\d{n}$验证至少n位数字:^\d{n,}$验证m-n位的数字:^\d{m,n}$验证零和非零开头的数字:^(0|[1-9][0-9]*)$验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$验证非零的正整数:^\+?[1-9][0-9]*$验证非零的负整数:^\-[1-9][0-9]*$验证非负整数(正整数 + 0):^\d+$验证非正整数(负整数 + 0): ^((-\d+)|(0+))$验证中文的正则表达式集合验证所有东亚区的语言:^[\?-\?]+$验证简体和繁体:^[\一-\?]+$验证简体:^[\一-\龥]+$使用方法如下使用Regex对象先引用System.Text.RegularExpressionsstring s="^[0-9]*$";//正则表达式Regex reg=new Regex(s);if(!reg.IsMatch(this.textbox1.text)){MessageBox.Show("请输入数字");}各式各样的正则表达式参考大全(访问正则表达式实例库):^\d+$ //匹配非负整数(正整数 + 0)//匹配整数^\d+(\.\d+)?$ //匹配非负浮点数(正浮点数+ 0)^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9] *[1-9][0-9]*))$ //匹配正浮点数^((-\d+(\.\d+)?)|(0+(\.0+)?))$ //匹配非正浮点数(负浮点数 + 0)^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ //匹配负浮点数^(-?\d+)(\.\d+)?$ //匹配浮点数^[A-Za-z]+$ //匹配由26个英文字母组成的字符串^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串^[a-z]+$ //匹配由26个英文字母的小写组成的字符串^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ //匹配email 地址^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$//匹配url匹配中文字符的正则表达式: [\u4e00-\u9fa5]匹配双字节字符(包括汉字在内):[^ 00- ff]匹配空行的正则表达式:\n[\s| ]*\r匹配HTML标记的正则表达式:/<(.*)>.*<\/>|<(.*) \/>/匹配首尾空格的正则表达式:(^\s*)|(\s*$)匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)* \.\w+([-.]\w+)*匹配网址URL的正则表达式:^[a-zA-z]+://(\w+(-\w+)*)(\.(\w +(-\w+)*))*(\?\S*)?$匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$匹配国内电话号码:(\d{3}-|\d{4}-)?(\d{8}|\d{7})?匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$下表是元字符及其在正则表达式上下文中的行为的一个完整列表,具体到每个正则表达式符号:\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。

.NET4.0 CustomValidator控件应用

.NET4.0  CustomValidator控件应用

4.0 CustomValidator控件应用
下面我们通过一个例子来进一步加深对该控件的理解。

该实例主要实现对用户输入数据是否为正数使用CustomValidator控件进行验证,代码如下所示。

执行上代码,输入数据,单击“验证”按钮。

如果输入数据有误,如图7-14所示。

否则的话,如图7-15所示。

图7-14 执行结果 图7-15 执行结果
从CustomValidator 验证控件的验证代码可以看出,CustomValidator 验证控件可以在服务器上执行验证检查。

如果要创建服务器端的验证函数,则处理CustomValidator 控件的ServerValidate 事件。

使用传入的ServerValidateEventArgs 的对象的IsValid 字段来设置是否通过验证。

而CustomValidator 控件同样也可以在客户端实现,该验证函数可用VBScript 或Jscript 来实现,而在CustomValidator 控件中需要使用ClientValidationFunction 属性指定与CustomValidator 控件相关的客户端验证脚本的函数名称进行控件中的值的验证。

在.netC#里怎么重写一个TextBox控件,例如添加输入提示信息

在.netC#里怎么重写一个TextBox控件,例如添加输入提示信息

在.netC#⾥怎么重写⼀个TextBox控件,例如添加输⼊提⽰信息using System;using System.Drawing;using System.Windows.Forms;namespace ManuApp{/// <summary>/// TextBoxNoManu 的摘要说明。

/// </summary>public class TextBoxNoManu:System.Windows.Forms.TextBox{public TextBoxNoManu(){//// TODO: 在此处添加构造函数逻辑//}protected override void WndProc(ref Message m){if(m.Msg != 0x007B){base.WndProc (ref m);}}}}⾃定义TextBox控件的外观(需要重写消息循环)using System;using ponentModel;using System.Collections;using System.Diagnostics;using System.Windows.Forms;using System.Drawing;using System.Drawing.Drawing2D;namespace WindowsFormsApplication2{[ToolboxItem(true)]public partial class InfoTextBox : System.Windows.Forms.TextBox{[System.Runtime.InteropServices.DllImport("user32.dll")]static extern IntPtr GetWindowDC(IntPtr hWnd);[System.Runtime.InteropServices.DllImport("user32.dll")]static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC);private Color _BorderColor = Color.FromArgb(0xA7, 0xA6, 0xAA);private Color _HotColor = Color.Green;private string _tooltip = "点击这⾥输⼊信息";private new BorderStyle BorderStyle{get { return BorderStyle.FixedSingle; }}#region[Category("Appearance"), Description("输⼊提⽰信息")]public string InfoText{getreturn this._tooltip;}set{this._tooltip = value;this.Invalidate();}}[Category("Appearance"), Description("边框颜⾊"), DefaultValue(typeof(Color), "#A7A6AA")]public Color BorderColor{get{return this._BorderColor;}set{this._BorderColor = value;this.Invalidate();}}[Category("Appearance"), Description("获得焦点颜⾊"), DefaultValue(typeof(Color), "#996699")]public Color HotColor{get{return this._HotColor;}set{this._HotColor = value;this.Invalidate();}}#endregionpublic InfoTextBox(): base(){this.Text = "";}protected override void OnMouseHover(EventArgs e){base.OnMouseHover(e);if (string.IsNullOrEmpty(this.SelectedText))this.Cursor = Cursors.SizeAll;}protected override void OnMouseMove(MouseEventArgs e){base.OnMouseMove(e);int _HotBlur = this.Height / 4;if (e.X < this.Width + _HotBlur && e.X > this.Width - _HotBlur)this.Cursor = Cursors.SizeWE;else{if ((e.X > _HotBlur && e.X < this.Width - _HotBlur) || (e.Y > _HotBlur && e.Y < this.Height - _HotBlur)) this.Cursor = Cursors.IBeam;elsethis.Cursor = Cursors.SizeAll;}protected override void OnClick(EventArgs e){base.OnClick(e);this.Cursor = Cursors.IBeam;}protected override void WndProc(ref Message m){base.WndProc(ref m);if (m.Msg == 0xf || m.Msg == 0x133){IntPtr hDC = GetWindowDC(m.HWnd);if (hDC.ToInt32() == 0) return;if (this.BorderStyle == BorderStyle.FixedSingle){System.Drawing.Graphics g = Graphics.FromHdc(hDC);g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;g.DrawRectangle(new Pen(this._BorderColor, 1), 0, 0, this.Width - 1, this.Height - 1);g.DrawLine(new Pen(this._HotColor, 2), new Point(this.Width - 1, this.Height / 4), new Point(this.Width - 1, this.Height / 4 * 3)); }if (Text.Trim().Length == 0 && !this.Focused){SolidBrush drawBrush = new SolidBrush(Color.BurlyWood);PointF drawPoint = new PointF(0F, (this.Height - this.FontHeight) / 2);System.Drawing.Graphics g = Graphics.FromHdc(hDC);g.DrawString(_tooltip, this.Font, drawBrush, drawPoint);}m.Result = IntPtr.Zero;ReleaseDC(m.HWnd, hDC);}}}}⼀个只能接收某些字符的textbox经常某些输⼊的⽂本要求只能是数字等,⽐如qq登陆框上的qq帐号,如果按键不是数字,则没有反应。

net core input textbox 回传

net core input textbox 回传

net core input textbox 回传在 Core Web 应用程序中,通过HTML 表单(Form)中的文本框(Textbox)接收用户输入,然后将输入数据传递回服务器是一种常见的操作。

以下是一个简单的示例,演示了如何在 Core 中使用文本框,并在提交表单时将输入数据传递回服务器。

1. 创建 Core 项目:创建一个新的 Core Web 应用程序,可以选择MVC 或Razor Pages。

2. 创建一个模型类(如果使用MVC):如果你选择使用MVC,创建一个简单的模型类来表示输入的数据。

例如:```csharp// Models/UserInputModel.cspublic class UserInputModel{public string TextBoxValue { get; set; }}```3. 创建视图(View):在MVC 中,创建一个视图(.cshtml 文件)来显示文本框并提交表单。

```html<!-- Views/Home/Index.cshtml (示例) -->@model UserInputModel<form asp-controller="Home" asp-action="ProcessInput" method="post"><label for="textBox">Input Text:</label><input type="text" id="textBox" name="TextBoxValue" value="@Model.TextBoxValue" /> <button type="submit">Submit</button></form>```4. 创建控制器(Controller):在MVC 中,创建一个控制器来处理用户输入。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4.0 使用TextBox控件输入数据
TextBox服务器控件也是System.Web.UI.WebControls.WebControl类的子类,用于创建用户可输入文本的文本框。

TextBox控件能完全控制可编辑的文本域。

这意味着程序在需要请求用户进行某种文本输入的任何时候都可以使用该控件。

TextBox Web控件和<Input Type="Text">、<Input Type="Password">以及<TextArea>这三个HTML元素功能相似,都是用来接收键盘键入的数据;不过TextBox可以用来取代上述三种HTML元素。

表6-6 TextBox控件属性及事件
下面是一个实现具有单文本、密码框、多行文本框控件(分别是用户名、密码和
自我介绍)用户注册页面的实例,代码如下所示。

执行上述代码,结果如图6-1所示。

在文本框里输入用户名、密码和个人简介单击按钮,结果如图6-2所示。

图6-1 执行结果6-2 执行结果。

相关文档
最新文档