博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#学习笔记-输入数据判断(int、double、string)
阅读量:5293 次
发布时间:2019-06-14

本文共 4801 字,大约阅读时间需要 16 分钟。

代码:

1 using System;  2 using System.Windows.Forms;  3   4 namespace CheckInput  5 {  6     public partial class Form1 : Form  7     {  8         public Form1()  9         { 10             InitializeComponent(); 11         } 12  13         private void Sure_button_Click(object sender, EventArgs e) 14         { 15              16             if (CheckIsLegal() && CheckIsNull()) 17             { 18                 //TODO 19             } 20  21             //just for test 22             if (CheckIsNull()&&CheckIsLegal_test()) 23             { 24                 //TODO 25             } 26         } 27  28         ///  29         /// 判断输入是否合法 30         ///  31         /// 
32 private bool CheckIsLegal() 33 { 34 string[] SpecialString = new string[] { "/", @"\", ":", "*", "?", "<", ">", "|" }; 35 //注:反斜杠“\”是转义字符 36 //“\'”单引号;“\"”双引号;“\\”反斜杠;“\0”空;“\a”警告;“\b”退格;“\f”换页;“\n”换行;“\r”换行 37 //注:用@ 符号加在字符串前面表示其中的转义字符“不”被处理 38 int tempInt = 0; 39 40 for (int i = 0; i < SpecialString.Length; i++) 41 { 42 if (this.Name_textBox.Text.Trim().Contains(SpecialString[i])) 43 { 44 MessageBox.Show(@"姓名不能包含下列字符:/ \ : * ? < > |"); 45 this.Name_textBox.Select(); 46 return false; 47 } 48 if (this.Nickname_textBox.Text.Contains(SpecialString[i])) 49 { 50 MessageBox.Show(@"昵称不能包含下列字符:/ \ : * ? < > |"); 51 this.Nickname_textBox.Select(); 52 return false; 53 } 54 //TODO 55 56 //其他的输入框同理 57 58 //TODO 59 } 60 61 //注:string输入变成int型:1.int.TryParse;2.Convert.ToInt32(); 62 //注:int转string:1.Convert.ToString(); 63 if (!int.TryParse(this.Age_textBox.Text, out tempInt) || tempInt < 0) 64 { 65 MessageBox.Show("年龄输入错误!"); 66 this.Age_textBox.Select(); 67 return false; 68 } 69 //TODO 70 71 //其他的输入框同理 72 73 //TODO 74 else 75 { 76 return true; 77 } 78 } 79 80 /// 81 /// 判断输入框是否为空 82 /// 83 ///
84 private bool CheckIsNull() 85 { 86 //Trim()删除字符串头部及尾部出现的空格=>这里判断是否为空,所以必须加上 87 //删除的过程为从外到内,直到碰到一个非空格的字符为止,所以不管前后有多少个连续的空格都会被删除掉。 88 //注:TrimStart()=>只删除字符串的头部的空格 89 //注:TrimEnd()=>只删除字符串尾部的空格 90 if (this.Name_textBox.Text.Trim()=="") 91 { 92 MessageBox.Show(@"姓名不能为空!"); 93 this.Name_textBox.Select(); 94 return false; 95 } 96 if (this.Nickname_textBox.Text.Trim() == "") 97 { 98 MessageBox.Show(@"昵称不能为空!"); 99 this.Nickname_textBox.Select();100 return false;101 }102 //TODO103 104 //其他的输入框同理105 106 //TODO107 else108 {109 return true;110 }111 }112 113 114 /// 115 /// 开始不理解 out tempInt 的作用116 /// 顺便复习一下string转化为int的过程117 /// 118 ///
119 private bool CheckIsLegal_test()120 {121 int tempInt = 0;122 123 //注:Convert.ToInt32124 125 if (!int.TryParse(this.Age_textBox.Text, out tempInt) || CheckIntIsNegative(Convert.ToInt32126 (int.TryParse(this.Age_textBox.Text, out tempInt))))127 {128 MessageBox.Show("年龄输入错误!");129 this.Age_textBox.Select();130 return false;131 }132 //TODO133 134 //其他的输入框同理135 136 //TODO137 else138 {139 return true;140 }141 }142 143 private bool CheckIntIsNegative(int m)144 {145 if (m < 0)146 {147 return false;148 }149 else150 {151 return true;152 }153 }154 155 private bool CheckDoubleIsNegative(double m)156 {157 if (m < 0)158 {159 return false;160 }161 else162 {163 return true;164 }165 }166 167 private void Cancel_button_Click(object sender, EventArgs e)168 {169 this.Close();170 }171 }172 }

 

效果图:

 

转载于:https://www.cnblogs.com/Aries-rong/p/5849801.html

你可能感兴趣的文章
Asp.Net生命周期系列六
查看>>
php引用 =& 详解
查看>>
Codeforces 914D Bash and a Tough Math Puzzle (ZKW线段树)
查看>>
POJ 3009: Curling 2.0
查看>>
DLNA介绍(包含UPnP,2011/6/20 更新)
查看>>
ANGULARJS5从0开始(2) - 整合bootstrap和font-awesome
查看>>
Android 使用Parcelable序列化对象
查看>>
Python Web框架Django (零)
查看>>
Foxmail出现 错误信息:553 mailbox not found怎么解决
查看>>
spring_远程调用
查看>>
js 中基本数据类型和引用数据类型 ,,,, js中对象和函数的关系
查看>>
登录服务器,首先用到的5个命令
查看>>
多米诺骨牌
查看>>
区间DP 等腰三角形
查看>>
mysql 存储引擎对索引的支持
查看>>
Linq 学习(1) Group & Join--网摘
查看>>
asp.net 调用前台JS调用后台,后台掉前台JS
查看>>
【转】iOS 宏(define)与常量(const)的正确使用-- 不错
查看>>
【转】iOS开发UI篇—iPad和iPhone开发的比较
查看>>
【转】Android底层库和程序
查看>>