- 浏览: 142729 次
- 性别:
- 来自: 成都
文章分类
最新评论
以前我听说过一个软件科技公司,写了一个控件,只要在那个软件里面,输入了特殊字符,比如“!,&,^,%,$”,在进行数据交互的时候,就会跳出一个"非法字符操作",而在前不久,我进入了一个科技公司,这家公司也是做winform的,专做大his,健康档案系统的。而在这里面,我就想了一年前朋友们提过非法字符的提示。
我用了一天多的时间,写了一个winform的特殊字符判断的控件,里面判断了winform的十几种常见文本内容。
该控件,分两种,一种是只穿控件名,还有种传整个form窗体。
而方法里面,是用的多态,才参数,vadite(string[],From),或者vadite(From)
判断的控件有:
/// <summary>
/// 单选框
/// </summary>
public static bool validateRadioButton(string[] arr,System.Windows.Forms.Form frm)
{
}
/// <summary>
/// 复选框
/// </summary>
public static bool validateComboBox(string[] arr, System.Windows.Forms.Form frm)
{
}
/// <summary>
/// 检查文本框
/// </summary>
public static bool validateTextBox(string[] arr, System.Windows.Forms.Form frm)
{
}
/// <summary>
/// 检查下拉框
/// </summary>
public static bool validateListBox(string[] arr, System.Windows.Forms.Form frm)
{
}
/// <summary>
/// 按钮
/// </summary>
public static bool validateButton(string[] arr, System.Windows.Forms.Form frm)
{
}
/// <summary>
/// lable
/// </summary>
public static bool validateLabel(string[] arr, System.Windows.Forms.Form frm)
{
}
/// <summary>
/// linkLable
/// </summary>
public static bool validateLinkLabel(string[] arr, System.Windows.Forms.Form frm)
{
}
/// <summary>
/// CheckedListBox
/// </summary>
public static bool validateCheckedListBox(string[] arr, System.Windows.Forms.Form frm)
{
}
/// <summary>
/// RichTextBox
/// </summary>
public static bool validateRichTextBox(string[] arr, System.Windows.Forms.Form frm)
{
}
/// <summary>
/// 所有控件
/// </summary>
public static bool validateRichAllControls(string[] arr, System.Windows.Forms.Form frm)
{
}
//查询控件下面的子控件数据
public static bool validateRichAllControlsByControls(string[] arr, System.Windows.Forms.Control control)
{
}
还有就是传这个窗体,同时,传入的窗体里面有以下控件容器,也会递归去查找他下面的所有子控件的text.进行判断
if (frm.Controls[i] is Panel)
{
return validateRichAllControlsByControls(arr,frm.Controls[i]);
}
if (frm.Controls[i] is GroupBox)
{
return validateRichAllControlsByControls(arr,frm.Controls[i]);
}
if (frm.Controls[i] is TabControl)
{
return validateRichAllControlsByControls(arr,frm.Controls[i]);
}
if (frm.Controls[i] is SplitContainer)
{
return validateRichAllControlsByControls(arr,frm.Controls[i]);
}
if (frm.Controls[i] is FlowLayoutPanel)
{
return validateRichAllControlsByControls(arr,frm.Controls[i]);
}
if (frm.Controls[i] is TableLayoutPanel)
{
return validateRichAllControlsByControls(arr,frm.Controls[i]);
}
而上面的arr,就是一个string类型的特殊字符数组。这个数组,自己可以定义。
这里有两个调用这个空间的例子
string[] arr = new string[] { "'", "?", "#", "!", "/", "&" };
if (SPValidate.FrmSPValidate.validateRichAllControls(this) == true)
{
MessageBox.Show("通过");
}
else
{
MessageBox.Show("有特殊字符!");
}
// 或者之定义特殊字符
if (SPValidate.FrmSPValidate.validateTextBox(arr, this) == true)
{
MessageBox.Show("通过");
}
else
{
MessageBox.Show("有特殊字符!");
}
使用方法,首先将这个控件引用到你的项目里面。然后就直接调用里面的方法。
- SPValidate.zip (2.7 KB)
- 下载次数: 8
发表评论
-
SQL Server 2008 R2 中英文 开发版/企业版/标准版 链接地址
2015-01-19 11:08 902SQL Server 2008 R2 中英文 开发版/企业版/ ... -
C# SQLSERVER2008数据库备份和还原的两种方法 (有进度条)
2013-06-21 11:01 1991C# SQLSERVER2008数据库备份和还原的两种方 ... -
编程中 word 所有属性
2013-05-15 15:10 5941word文档工程变量的 //合并单元格 tab ... -
C# 海量数据增加和修改
2013-05-03 14:20 897对于海量数据的插入和更新,ADO.NET确实不如JDBC做到 ... -
DataGridView添加行数据 下拉框
2013-05-02 16:53 5542DataGridView控件在实际应用中非常实用,特别需要表 ... -
C#的web Service 调用的简单例子
2013-01-10 15:18 1251是webservice.就概念上来说,可能比较复杂,不 ... -
字体号数 像素 换算
2012-10-10 09:57 1100英文字体的1磅,相当于1/72 英寸,约等于1/2.8mm。1 ... -
编程的三种循环
2011-12-20 10:37 912大家都应该知道,其实java和C#都出自同师门的。虽然他们是不 ... -
农历,阳历 倒计时源码
2011-11-15 13:49 935自己没事写了一个倒计时,里面有每年阳历的倒计时和农历的倒计时。 ... -
常用的正则表达式
2011-08-11 10:34 687常用的验证字符串的正则表达式。(电话,邮箱,数字,I ... -
iis发布网站
2011-07-27 10:25 787本人自己写的,给大家参考的。 1.安装iis(网络上下载 ... -
鼠标和键盘事件
2011-07-15 11:28 1063鼠标事件有11个,常用八个,都不用说了。click,Doubl ... -
winform读写ini配置文件
2011-07-14 11:29 1456public static string re ... -
winform 增删改查
2011-07-13 16:27 1841增删改,是一个样的指令: //添加物品 ... -
winform中的datagridview数据添加方式
2011-07-13 16:10 5052winform中的datagridview数据添加方式,在我现 ... -
Winform的dataGridView中添加序号
2011-07-13 15:40 6350dataGridView的RowPostPa ... -
vs多级树动态加载
2011-06-25 22:37 997private void LoadCategoryTree ... -
VS2008 验证控件的用法
2011-05-23 11:09 3811ASP.NET为开发人员提供了 ... -
<meta name="description" content="string"/> 用法
2011-03-16 11:59 816一、语法: <meta name="nam ... -
判断中英文数字等混合字符串的截取固定长度值的字符串
2011-03-03 14:26 2302该方法适用余很多中英文混合的长度的字符串截取,比 ...
相关推荐
C#/Winform 开发的验证码控件,支持自定义字符和字符长度
winform的字符串转换乱码解决
Winform中的ComBox控件实现换行 当文本长度达到最大时实现换行
Web开发上有很多HTML的编辑控件,如FCKEditor、CKEditor、kindeditor等等,很多都做的很好,而虽然...控件下载地址如下:http://files.cnblogs.com/wuhuacong/ZetaHtmlEditControl.rar 标签:HTML编辑控件
winform 批量更新源码! 很值得下载看看!资源免费,大家分享!!
继承Control的自定义textbox感谢某位高人的指点。 可以自己设置透明度、设置背景颜色、设置圆角大小、设置最大多少字符、设置显示的密码字符
输入字符串如:Label,Button,TextBox等,根据反射原理,动态创建相应的控件,并且动态的控件可在右边的区域内拖动。
按输入的字符自动查找并选择符合的项,下拉框的信息自动下拉提示
WebForm控件 WinForm控件 Xml 方案 绘图 基础 集成开发环境(IDE) 类型 日期 输入和输出 Access MySQL SQLServer 网络 系统 应用程序接口 字符串
该自定义控件利用visual studio2017开发,使用VB.NET语言对TextBox进行了改写,附带了验证功能,不需要开发人员再次对TextBox的内容进行验证,也不需要在相关的按钮里写判断语句,节省了对内容验证的时间。...
在winForm窗体中进行Utf-8 及 GB2312转换
在DataGridView控件中加入ComboBox下拉列表框的实现
dsoframer.ocx控件最新版支持office2016,包含使用说明。有效解决高版本word嵌入winform时,word直接打开的烦恼。
简单的视频播放前置透明窗口控件,提供鼠标点击,拖动事件,也可用于字符叠加(好像过于简单了,有问题的话来问我好了-笑)。
winform一个自定义控件,仿照163邮箱收件人输入方式的,即输入一串字,碰到";"符号时会自动添加一个新的联系人的方式,效果同163写信时联系人效果一样,也挺漂亮的,源码,绝对值得下载啊
基于zxing.dll,自定义WinForm控件控件可直接引入WinForm窗体应用程序中作为基础控件使用。控件将传入的字符串转换为条形码图片显示在控件区域并可通过控件属性配置选择是否保存到本地图片
Net C# Web/Win form 条码控件 ...Data=F19865742 要生成的字符串 Width=200 图片宽度 Height=60 图片高度 CopyRightText=pagi 显示在顶部的版权字样 可以设置横竖等较多样式。具体看Barcode1中的index.htm介绍 -->
c#编程集合资料,不错的应用设计,另附一些开发案例的下载地址,欢迎大家下载学习。 学习完本课程之后,我们需要达到以下目标: (1) 掌握基本的C#语法,熟练运用C#编写基本的程序逻辑。 (2) 能够创建C#控制台...
如果是字符串,那很好办,直接使用“控件名.Text”即可。但如果是数字类型的值呢?怎么样获取?怎么样判断?怎么样转换?怎么样错误提示?且看下文。 假如我要从WinForm界面上获取一个用户输入的数字,代码如下: ...