要是谁有好的实现方法,告诉我吧,
[email protected]
联系

解决方案 »

  1.   

    问题我说出来了,再说一遍
    我做了一个自定义控件,实现这样一个效果,判断控件的text属性是否可以为空,通过一个属性来设置,当我设置成text控件不能为空的时候,当这个控件失去焦点的时候(或者是说当窗体的焦点从这个控件,移到另一个控件上)如果text为空,MessageBox.show("不能为空"), 但是有一种特殊情况除外,就是我点击这个控件所在窗体上的一个按纽(这个按纽是关闭这个窗口),就不要提示这个“不能为空”的信息了。
    我的代码:
    我是把判断放在onleave事件中的,
    这里是不是有问题:
      

  2.   

    你点击退出按钮的时候
    会先触发OnLeave事件
    所以messagebox先显示出来
    退出的消息根本收不到
    除非你先在textbox里面随编写几个字符
    然后才能退出去
      

  3.   

    问题是不能随便写几个字符啊,所以我觉得我不能把判断的语句写在onleave事件里,
    但是又不知道怎么做,大家救命!
      

  4.   

    public class MyTextBox : System.Windows.Forms.TextBox
    {
    protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData) 

    if(msg.WParam.ToInt32() == (int) Keys.Tab) 

    SendKeys.Send("{Enter}"); 
    return true; 

            return base.ProcessCmdKey(ref msg, keyData); 


    上面一段代码的意思是将按tab键的效果等同于按了回车键
    然后在private void textBox3_KeyPress(System.Windows.Forms.KeyPressEventArgs e)
    {
    if(e.KeyChar == (char)13)
    {
    }
    }
    在按回车键的时候判断是否为空,如果为空则提示这样就不
      

  5.   

    其实窗体上有个cancelbutton属性,我们是不是可以利用这个呢
      

  6.   

    但是要是操作的人使用鼠标,键盘上的TAB键来切换焦点呢,你说的用ENTER键来判断不是没有用了!
      

  7.   

    上面TAB键的问题也解决了,我刚刚没有看代码,
    但是鼠标呢,用鼠标来切换焦点当为空的时候不是不能出现判断么,
      

  8.   

    设置一个bool变量
    在MouseDown中判断是否点击了退出按钮
    是则设置为true
    然后在OnLeave中如果该变量为true则不作处理
      

  9.   

    真的没有其他的办法了么,我真的想实现这样一个功能,
    其实在DELPHI里有这样的控件的,
      

  10.   

    我说的方法肯定可以
    在vb里面就是这么做的
    不过补充一下:
    “在OnLeave中如果该变量为true则不作处理
      否则将变量复位为false”
    至今没有找到更好的方法
      

  11.   

    我是这样作的,不管它是否对与错,如果没有输入就报错,
    if(textbox.Text.Trim() == "")
    {
    MessageBox.Show("不能为空,请输入");
    }
    不知道是否对你有帮助
      

  12.   

    这个功能我是通过一组控件来实现的,呵呵,不好意思,原理是这样:在我的自定义控件的enter事件中去判断在这个控件所在窗体上的TABINDEX比当前控件小一的控件中的某个事件,
    如果不满足那就抱错,我把一个按牛的TABINDEX设置为0这样就不会去判断了,呵呵,不好意思比较土了点,但是我现在有个问题是怎么样可以得到这个一个字定义控件所在窗体上所有的控件的代码。完成了这一点我这个控件就完成了,我到时候可以把代码拿上来 。
      

  13.   

    我已经把这几个控件做好了,呵呵,要的人留下MAIL吧。一共是3个控件,一个是 text,button,combobox,接下来想把这三种控件做成WEB上用的,怎么样可以快速的转换,
      

  14.   

    [email protected]
    谢谢
    你做的好辛苦,辛苦了!!!
      

  15.   

    Hs_Boy(晃晃悠悠) 你的做法是有点土,为什么不把onleave事件里的代码写到一个函数里。比()如exc