现在碰到这样一个问题:
就是程序上有一些操作,比如界面上有几个TextBox,需要用户输入,然后保存用户输入的数据在文本文件上。
若是用户没有输入完全,就转向其他的界面,或者未点击保存操作就点击其他的操作,此时应该需要一个事件进行处理,该怎么处理啊?比如任务栏的颜色变化或者弹出对话框提示等等
有没有大侠做过此类事件给指点指点。谢谢
(我用的是布尔变量,检查所有的TextBox是否为空,然后处理,但是效果很差)

解决方案 »

  1.   

    你可以通过 textBox1.Focus(); 来控制焦点来解决..例如
    button_Click事件里if(textBox1.Text.Trim().Length==0)
    {
      textBox1.Focus();
      return; 
    }
      

  2.   

    那如果一个界面上有很多的TextBox,岂每个不是都要写?
    还有就是用户如果点击其他的界面的话,我使用的是Active属性,效果也不好。
      

  3.   

    可以使用控件的TAG值表示那个控件不可为空
    在你点击确定按钮的时候,把窗体内的控件都循环判断一下就行了
    foreach(control  ctrl in this.controls)
    {
    if(ctrl.Text.Trim() == string.empty)
    {
    MessageBox("");
    ctrl.Focus();
    }
      

  4.   

    忘写了一句,应该在在判断是否为空之前,先判断这个控件的TAG值标志的是否是不可为空
      

  5.   

    这样提示:
    if (this.txb1.Text.Trim() == "")
                {
                    MessageBox.Show(this, "提示信息!", "提示",MessageBoxButtons.OK, MessageBoxIcon.Information);
                    this.txb1.Focus();
                    return;
                }
      

  6.   

    可以把条件做为一个集合来处理,放到一个list中,当向下一步时,先判断此集合的条件都是都为真,如果不为真则说明条件不成熟,需要继承在当前界面操作;
      

  7.   

    基本上是点击保存按钮的时候判断各个TxtBox控件是否为空,为空则弹出提示框,MessageBox.show();
      

  8.   


    你的想法好像不是很科学,但如果真的是这样的话,你就把上面的代码重构成一个函数,在每个按钮的单击事件中都调用这个函数,但单机的是TextBox时不能调用,否则你就没法往下写了
      

  9.   

    //如果你希望在窗体Form1(如最小化,焦点移至其他窗体)的时候也触发此事件,则 
    this.TextBox1.LostFocus+=new EventHandler(TextBox1_LostFocus);//注册事件,写在窗体构造函数中 void TextBox1_LostFocus(object sender,EventArgs e) 

    //写你的查询逻辑 

    否则可以用Leave事件 
    private void textBox1_Leave(object sender, EventArgs e) 

    MessageBox.Show(this.textBox1.Text); 
      

  10.   

    你可以在别的按钮上加上对TextBox.Text的判断,为空则弹出提示;
    也可以通过来控制焦点来解决,当打开别的窗口时,当前这个Form失去焦点就判断一下TextBox.Text的值,为空则弹出一个提示.
      

  11.   

    如果点击保存  bool flag=true;  否则bool flag=false;  然后点击其他按钮前判断下就OK了 
      

  12.   

    if(DOCUMENT.getelementByid("textBox1").value=="") 

      DOCUMENT.getelementByid("textBox1").Focus(); 
      return false; 
    }
      

  13.   

    在TextBox失去焦点的事件处理方法中判断
      

  14.   

    有很多的TextBox,每个事件都要写吗?
      

  15.   

    MouseLeave 鼠标离开控件 Leave 当控件不在是活动控件的时候触发
    winform中要自己写方法进行校验的   
      一般顺序:   
      1、textbox   gotfocus后注册事件textbox   leave   
      2、textbox   leave后校验是否成功,之后解除和这个textbox挂钩的leave事件
      

  16.   

      CHINANET华中节点武汉电信IDC,1G全能空间6.6元,不限流量,赠送邮局数据库,代理加盟独享价,全国限量发放。http://idc.jetsum.net?id=016
          武汉捷讯技术有限公司为你提供全天候的技术服务!
    捷讯技术采用强大的WinIIS虚拟主机管理系统,使得虚拟主机实时开通,在线提交申请,全天24小时系统自动开通空间,20秒内即可正式投入使用。支持在线修改FTP密码、绑定域名、设定默认页…… 为用户提供完善的虚拟主机管理系统。