日期:2014-05-17  浏览次数:20851 次

快点进来,昨天判断控件你们不给力,今天必须给力点
我刚刚才学几天啊,不怎么懂,希望给点注释吧..
求大神

------解决方案--------------------

foreach(Control con in Controls)
{
    if(con is TextBox)
    {
        TextBox tb = con as TextBox;
        if(!string.IsNullOrEmpty)
        {
            你的btn按钮不可用
        }
    }
}
以上代码给你个思路,在控件的键盘按下事件里写
思路一般,请后面的高手指点
------解决方案--------------------
,这个不是和昨天问题一样啊,要举一反三啊。

我说另外一个方法吧,二进制知道么?你首先给那8个必填项编上号,像“性别”这样的有默认值的可以不判断。
设置一个int 变量 Measure,用来存放判断结果,比如姓名填写了,就将它所对应的二进制改写为1,
这个时候Measure=(二进制)10000000,
又填写了民族,Measure=(二进制)11000000,
当所有位都为1时,就是填写完毕Measure=(二进制)11111111=(十进制)255,
就可以显示按钮了.当然如果你将填写好的信息删除了,记得将相应位置上的1变为0.
------解决方案--------------------
第一步:定义两个全局的bool型变量,一个叫boText,另一个叫boCom,值都为true。
第二步:定义一个方法,方法内容为:让注册按钮可用。

第三步:
写两个方法,第一个方法,方法内容为:判断当文本框控件失去焦点的时候,值是否为空,如为空就是false,就提示。如不为空就是true。将这个值和对应的第一步中的全局boText变量做一次 与操作。
方法最后做一个判断:boText和boCom做一次与操作,如果为true,执行步骤二中定义的方法;

第二个方法,方法内容为:判断当下拉菜单控件失去焦点的时候,所选中的值是否包含“请选择”,如是就false,就提示。如不是,就是true。这个值和对应的第一步中的全局变量boCom做一次 与操作。
方法最后做一个判断:boText和boCom做一次与操作,如果为true,执行步骤二中定义的方法;

第四步:
把文本框的失去焦点的事件指在第一个方法上。
把下拉菜单的失去焦点的事件指在第二个方法上。

------解决方案--------------------
第三步中的方法要再修改一下:对失去焦点的时候,要把所有的文本框是否有值的结果做与操作,方法二中也一样。这样才对。
------解决方案--------------------
说到底每个控件都要挂TextChange事件
当然实现方式各种各样,你可以循环,你可以硬编码,你甚至可以把控件都描述出来动态生成
timer那个是馊主意,还是算了- -