黑马程序员技术交流社区

标题: WinFrom中控件的非空验证 [打印本页]

作者: 何智杰    时间: 2012-3-26 16:06
标题: WinFrom中控件的非空验证
学习WinFrom时对所有文本框进行非空验证的一点总结:

foreach (var item in Controls)//遍历所有控件
            {
                if (item is TextBox)//判断是否是TextBox
                {
                    TextBox text = item as TextBox;
                    if (string.IsNullOrEmpty(text.Text))//判断是否是空
                    {
                        MessageBox.Show("此位置不能为空", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        text.Focus();//获得焦点
                        return;//跳出
                    }
                }
            }
作者: 方辉    时间: 2012-3-26 16:13
学习了,实用中.
作者: 柏云杉    时间: 2012-3-26 16:13
其实可以封装到一个方法里面,当Textbox失去焦点的时候出发。这样省去了遍历的时间。而且当时用户就回去填写。免得用户自己去找光标在哪。
作者: 张恒    时间: 2012-3-27 10:58
你可以将需要验证的控件放在一个容器控件上面。通过遍历容器集合,可以减少不必要的判断。
你在显示提示消息时有点不清楚,你可以给每个要验证的控件设置它的tag属性保存当前是什么TextBox。
例如提示用户名文本框  MessageBox.Show(txtUserName.tag+"不能为空!");这样是不是让用户体验更好一些。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2