4.验证用户输入.ppt

上传人:hyn****60 文档编号:70970135 上传时间:2023-01-31 格式:PPT 页数:19 大小:948.50KB
返回 下载 相关 举报
4.验证用户输入.ppt_第1页
第1页 / 共19页
4.验证用户输入.ppt_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《4.验证用户输入.ppt》由会员分享,可在线阅读,更多相关《4.验证用户输入.ppt(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Windows界面设计界面设计安徽机电职业技术学院信息工程系安徽机电职业技术学院信息工程系汪学文汪学文(wxwOOP)课程网站:课程网站:http:/ 2011年年11月月任务任务4:验证用户输入:验证用户输入q学习目标:学习目标:使用使用掩码文本框掩码文本框(MaskedTextBoxMaskedTextBox),限制用户输入数据的格,限制用户输入数据的格式。式。使用使用ErrorProviderErrorProvider控件通知用户错误信息。控件通知用户错误信息。使用使用ValidatingValidating事件验证用户输入数据。事件验证用户输入数据。使用正则表达式验证文本串的输入。使用

2、正则表达式验证文本串的输入。本任务在任务本任务在任务3“增加新员工增加新员工”窗体上继续进行。窗体上继续进行。24.1 使用掩码文本框使用掩码文本框(MaskedTextBox)qMaskedTextBoxMaskedTextBox类是一个增强型的类是一个增强型的TextBox,TextBox,它支持用于它支持用于接受或拒绝用户输入的声明性语法。通过使用接受或拒绝用户输入的声明性语法。通过使用MaskMask属属性,无需在应用程序中编写任何字定义验证逻辑,即性,无需在应用程序中编写任何字定义验证逻辑,即可指定下列输入:可指定下列输入:必须的输入字符。必须的输入字符。可选的输入字符。可选的输入字

3、符。掩码中给定位置所需要的输入类型;例如,只允许数字、只掩码中给定位置所需要的输入类型;例如,只允许数字、只允许字母或允许字母和数字。允许字母或允许字母和数字。掩码的原义字符,或直接出现在掩码的原义字符,或直接出现在MaskedTextBoxMaskedTextBox中的字符;中的字符;例如电话号码中的连字符,或价格中的货币符号。例如电话号码中的连字符,或价格中的货币符号。输入字符的特殊处理输入字符的特殊处理,如转换大小写如转换大小写。34.1 使用掩码文本框使用掩码文本框(MaskedTextBox)q如何使用如何使用MaskMask属性设置掩码?属性设置掩码?q思考:思考:出生年月的出生年

4、月的MaskMask属性设为:属性设为:_办公电话的办公电话的MaskMask属性设为:属性设为:_4掩码项目及功能用途掩码项目及功能用途掩码元素掩码元素说明说明0数字,必选。此元素将接受数字,必选。此元素将接受0到到9之间的任何一个数字。之间的任何一个数字。9数字或空格,可选。数字或空格,可选。#数字或空格,可选。如果掩码中该位置为空白,在数字或空格,可选。如果掩码中该位置为空白,在Text属性中将把它呈现为一个空属性中将把它呈现为一个空格。允许使用加号格。允许使用加号(+)和减号和减号(-)。L字母,必选。将输入限定为字母,必选。将输入限定为ASCII字母字母a-z和和A-Z。此掩码元素等

5、效于正则表达式。此掩码元素等效于正则表达式中的中的a-zA-Z。?字母,可选。输入限定为字母,可选。输入限定为ASCII字母字母a-z和和A-Z。此掩码元素等效于正则表达式中。此掩码元素等效于正则表达式中的的a-zA-Z?。如果不允许输入中文,应将如果不允许输入中文,应将AsciiOnly属性设置属性设置True&字符,必选。如果字符,必选。如果AsciiOnly属性设置为属性设置为true,此元素的行为将与,此元素的行为将与“L”元素类似。元素类似。C字符,可选。任何非控制字符。如果字符,可选。任何非控制字符。如果AsciiOnly属性设置为属性设置为true,此元素的行为将,此元素的行为将

6、类似于类似于“?”元素。元素。A字母数字,必选。如果将字母数字,必选。如果将AsciiOnly属性设置为属性设置为true,则不允许输入中文。,则不允许输入中文。a字母数字,可选。如果将字母数字,可选。如果将AsciiOnly属性设置为属性设置为true,则不允许输入中文。,则不允许输入中文。.小数点占位符。使用的实际显示字符将是相应于格式提供程序的小数点占位符,格式小数点占位符。使用的实际显示字符将是相应于格式提供程序的小数点占位符,格式提供程序由控件的提供程序由控件的FormatProvider属性决定。属性决定。5掩码项目及功能用途掩码项目及功能用途掩码元素掩码元素说明说明,千分位占位符

7、。使用的实际显示字符将是相应于格式提供程序的千分位占位符,格式千分位占位符。使用的实际显示字符将是相应于格式提供程序的千分位占位符,格式提供程序由控件的提供程序由控件的FormatProvider属性决定。、属性决定。、:时间分隔符。使用的实际显示字符将是相应于格式提供程序的时间占位符,格式提供时间分隔符。使用的实际显示字符将是相应于格式提供程序的时间占位符,格式提供程序由控件的程序由控件的FormatProvider属性决定。属性决定。/日期分隔符。使用的实际显示字符将是相应于格式提供程序的日期占位符,格式提供日期分隔符。使用的实际显示字符将是相应于格式提供程序的日期占位符,格式提供程序由控

8、件的程序由控件的FormatProvider属性决定。属性决定。$货币符号。显示的实际字符将是相应于格式提供程序的货币符号,格式提供程序由控货币符号。显示的实际字符将是相应于格式提供程序的货币符号,格式提供程序由控件的件的FormatProvider属性决定。属性决定。转换为大写。将后续所有字符都转换为大写。转换为大写。将后续所有字符都转换为大写。|禁用前一个大写转换或小写转换。禁用前一个大写转换或小写转换。转义。对掩码字符进行转义,将其转变为原义字符。转义。对掩码字符进行转义,将其转变为原义字符。“”是反斜杠的转义序列。是反斜杠的转义序列。其他所有其他所有字符字符原义字符。所有非掩码元素都将

9、原样出现在原义字符。所有非掩码元素都将原样出现在MaskedTextBox中。原义字符在运行中。原义字符在运行时始终占据掩码中的一个固定位置,用户不能移动或删除该字符。时始终占据掩码中的一个固定位置,用户不能移动或删除该字符。6MaskedTextBox的其它属性的其它属性qTextMaskFormatTextMaskFormat:设定如何获取输入的数据:设定如何获取输入的数据ExcludePromptAndLiteralExcludePromptAndLiteral:只包含用户输入的数据,不包含原义字符与提示字符。只包含用户输入的数据,不包含原义字符与提示字符。IncludeLiterals

10、IncludeLiterals:(默认默认)包含用户输入的数据和原义字符,不包含提示字符。包含用户输入的数据和原义字符,不包含提示字符。IncludePromptIncludePrompt:包含用户输入的数据和提示字符,不包含原义字符。包含用户输入的数据和提示字符,不包含原义字符。IncludePromptAndLiteralsIncludePromptAndLiterals:包含用户输入的数据、提示字符和原义字符。包含用户输入的数据、提示字符和原义字符。qResetOnSpaceResetOnSpace:不匹配空格时,是否允许输入空格:不匹配空格时,是否允许输入空格(默认为默认为False)

11、False)q属性属性MaskFullMaskFull:判断是否全部输入了必须输入和选择输入。:判断是否全部输入了必须输入和选择输入。q属性属性MaskCompletedMaskCompleted:判断是否已经输入所有必须输入。判断是否已经输入所有必须输入。74.2 使用使用ErrorProvider控件控件q当用户输入的数据无效时,你有义务通知用户当用户输入的数据无效时,你有义务通知用户(前面使前面使用用ToolTipToolTip控件来通知就是一种方式控件来通知就是一种方式)。q可以通过以下几种方式通知用户可以通过以下几种方式通知用户消息框消息框ToolTipToolTip控件控件Erro

12、rProviderErrorProvider控件控件状态栏状态栏qErrorProviderErrorProvider控件会在相关控件的旁边显示错误图标控件会在相关控件的旁边显示错误图标 ,当鼠标移到错误图标上方时,会使用工具提示显示,当鼠标移到错误图标上方时,会使用工具提示显示错误详细信息。错误详细信息。84.2 使用使用ErrorProvider控件控件q从工具箱中将从工具箱中将ErrorProvider控件拖到窗体上,控件拖到窗体上,所有控件都会有所有控件都会有ErrorProvider1上的上的Error等等3个属性。个属性。qErrorProvider的主要属性:的主要属性:Cont

13、ainerControl:通常是窗体通常是窗体Icon:自定义的错误图标自定义的错误图标BlinkStyle:错误图标的闪烁样式错误图标的闪烁样式BlinkRate:错误图标的闪烁频率错误图标的闪烁频率q另外,还具有另外,还具有SetError方法方法94.3 输入验证输入验证q使用使用TypeValidationCompleted事件事件(仅对仅对MaskedTextBox):使用使用MaskFull属性,判断所有必要输入和选择输入都已经完成。属性,判断所有必要输入和选择输入都已经完成。使用使用MaskCompleted属性,判断所有必要输入都已经完成。属性,判断所有必要输入都已经完成。使用

14、使用TypeValidationArgs参数的参数的IsValid属性判断输入是否正确。属性判断输入是否正确。使用使用TypeValidationArgs参数的参数的ReturnValue属性,取得代表该值的对象。属性,取得代表该值的对象。设置设置TypeValidationArgs参数的参数的Cancel属性,以确定验证是否通过。属性,以确定验证是否通过。可以在用户输入出错的时候,给用户以提示。提示可以使用可以在用户输入出错的时候,给用户以提示。提示可以使用ToolTip控控件或者件或者ErrorProvider控件。控件。10使用使用TypeValidationCompleted事件进行输

15、入验证事件进行输入验证private void tbBirthday_TypeValidationCompleted(object sender,TypeValidationEventArgs e)if(!e.IsValidInput)/是否是合法日期是否是合法日期 errorProvider1.SetError(tbBirthday,你输入的日期是无效的日期!你输入的日期是无效的日期!+Environment.NewLine +输入日期的格式为:输入日期的格式为:yyyy年年mm月月dd日日);e.Cancel=true;/不允许失去输入焦点不允许失去输入焦点 else DateTime u

16、serInputDate=Convert.ToDateTime(e.ReturnValue);if(userInputDate.AddYears(16)DateTime.Now)errorProvider1.SetError(tbBirthday,员工年龄必须大于员工年龄必须大于16周岁,请输入正确的出生日期。!周岁,请输入正确的出生日期。!);e.Cancel=true;else errorProvider1.SetError(tbBirthday,“”);/清除错误提示清除错误提示 114.3 输入验证输入验证q所有输入控件,都有所有输入控件,都有Validated和和Validating

17、事件。事件。q当控件的当控件的CaseValidation属性为属性为True,在控件失去焦点之前,在控件失去焦点之前,会引发会引发Validating事件。事件。qValidating事件会提供事件会提供CancelEventArgs参数,可让您通过设置参数,可让您通过设置其其Cancel属性来告知控件中的数据是否有效。属性来告知控件中的数据是否有效。q如果如果Cancel属性保持为属性保持为False(数据有效数据有效),则接下来会引发,则接下来会引发Validated事件,输入焦点也会转移到新的控件上。事件,输入焦点也会转移到新的控件上。12验证密码长度验证密码长度private voi

18、d tbPassword_Validating(object sender,CancelEventArgs e)int len=tbPassword.Text.Length;if(len 15)errorProvider1.SetError(tbPassword,你输入的密码太长或太短,密码长度必须在你输入的密码太长或太短,密码长度必须在15位之间。位之间。);e.Cancel=true;else errorProvider1.Clear();134.3 输入验证使用正则表达式输入验证使用正则表达式q我们经常使用正则表达式我们经常使用正则表达式(Regular Expression)来决定来决

19、定字符串是否与特定模式字符串是否与特定模式(Pattern)相符。正则表达式使相符。正则表达式使得字符串与特定模式的解析与匹配更加简单。得字符串与特定模式的解析与匹配更加简单。q使用使用System.Text,RegularExpression命名空间的各个命名空间的各个类,即可将某个字符串与指定模式进行匹配、以一个类,即可将某个字符串与指定模式进行匹配、以一个字符串模式替代另外一个字符串,或者撷取某个格式字符串模式替代另外一个字符串,或者撷取某个格式化字符串的一部分。化字符串的一部分。如有表达式如有表达式foo,则下列文本是匹配的:则下列文本是匹配的:foo、food、foot、“There

20、s evil afoot.”电子邮件验证正则表达式为电子邮件验证正则表达式为(网上搜索网上搜索)w+(-.w+)*w+(-.w+)*.w+(-.w+)*$14验证电子邮件格式验证电子邮件格式q在电子邮件输入框的在电子邮件输入框的ValidatiingValidatiing事件中,输入以下代码:事件中,输入以下代码:private void tbEmail_Validating(object sender,CancelEventArgs e)System.Text.RegularExpressions.Regex re=new System.Text.RegularExpressions.Reg

21、ex(w+(-.w+)*w+(-.w+)*.w+(-.w+)*$);if(!re.IsMatch(tbEmail.Text)errorProvider1.SetError(tbEmail,电子邮件地址格式不正确。电子邮件地址格式不正确。);e.Cancel=true;else errorProvider1.SetError(tbEmail,);154.4“新建新建”时验证用户输入时验证用户输入q只有当输入焦点离开输入控件时,验证才会发生。只有当输入焦点离开输入控件时,验证才会发生。q如果输入焦点没有进入该输入控件,则不会对该输入如果输入焦点没有进入该输入控件,则不会对该输入进行验证。进行验证。

22、q因此,有必要在单击因此,有必要在单击“新建新建”按钮时,对该窗体输入按钮时,对该窗体输入的数据进行验证。这时可以调用窗体的的数据进行验证。这时可以调用窗体的ValidateChildren方法。以使控件内支持验证的所有子方法。以使控件内支持验证的所有子控件都对其数据进行验证。控件都对其数据进行验证。qMSDN对该方法的解释:对该方法的解释:164.4“新建新建”时验证用户输入时验证用户输入private void btkOK_Click(object sender,EventArgs e)if(!ValidateChildren()return;MessageBox.Show(OK!);/此

23、句仅用于测试此句仅用于测试174.5“取消取消”时不进行验证时不进行验证q那么,点击那么,点击“取消取消”按钮时,则不希望引发任何验证,按钮时,则不希望引发任何验证,直接关闭窗体。直接关闭窗体。q设置设置“取消取消”按钮的按钮的CauseValidationCauseValidation属性为属性为FalseFalseprivate void btnCancel_Click(object sender,EventArgs e)this.Close();184.5 实验实验q上机完成任务上机完成任务4 4,主要是以下内容,主要是以下内容:将将“出生年月出生年月”、“办公电话办公电话”等控件更换成使用等控件更换成使用MaskedTextBoxMaskedTextBox控件实现。控件实现。使用使用errorProvidererrorProvider控件通知用户错误信息。控件通知用户错误信息。使用控件的使用控件的ValidatingValidating事件验证用户输入数据的正确性。事件验证用户输入数据的正确性。使用正则表达式对用户输入的文本使用正则表达式对用户输入的文本(如如E-Mail)E-Mail)进行验证。进行验证。q完成实验完成实验4 4实验报告。实验报告。19

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁