enabled了也能点?  没遇到过.. 那就visible=false 完事了再true

解决方案 »

  1.   

    恩。确实是这样。enabled=false了之后确实灰了。点击按钮也没有动态效果。但是在执行本次操作后,会接着在执行一次。如果灰了后点击N次。会在执行N次。
    搞得我们郁闷!
      

  2.   

    visible=false后不就看不到了嘛。不是解决办法啊。
      

  3.   

    遇到一个恐怖的问题。visible=false后也会出现同样的问题。。
      

  4.   

    受限我需要按钮可见,因为在按钮的text上会显示当前进度的文子。
    其次。即使visible=false,不可见。依然会出现同样的问题。不知道有没有遇到过相同问题的。
      

  5.   

    按钮删掉 重新拽一个。。还不好用就把form删掉 一层层删。。还有是不是点击事件有问题。。看看button都注册了什么事件 重新注册一遍 没用的去掉
      

  6.   

    所有控件都重上了一遍。还是这样。这么简单的程序应该不会存在啥问题。
    原因:
    貌似窗口会吧这个鼠标点击消息先留下来。等button执行本次操作后,enabled=true后,再把消息传给button。(如果我不吧enabled=true,就 不会继续)
    怎么能这样
      

  7.   

    不知道你的事件处理中,按钮的动作会持续多久.
    不过,建议你试试在 enabled=true 前,让程序停个一秒半秒的,再看看有没有问题.
      

  8.   

    那就用最极端的方法:
    点击事件开始时解除注册事件: this.button1.Click += null;
    结束时再加上注册事件:this.button1.Click += new System.EventHandler(this.button1_Click);
      

  9.   

    这个我想过,不成。因为他会在注册事件后再把鼠标消息传过去。
    道理是一样的。莫非真的是个bug???
      

  10.   

    this.button1.Click += null; 
    后面加句
    application.doevent();试试
      

  11.   

    提示:当前上下文中不存在application;
    引用了System.Windows.Forms;阿
    晕死了!
      

  12.   

    你在button状态改变后,最好进行事件的最加加或者卸载
    如果最后还不行,那你可以在整个form的mouse_click事件中将判断屏蔽掉
    但一般不会出现这种问题,挺奇怪的
      

  13.   

    以上方法均试过,均无效!
    包括
    "
    那就用最极端的方法: 
    点击事件开始时解除注册事件: this.button1.Click += null; 
    结束时再加上注册事件:this.button1.Click += new System.EventHandler(this.button1_Click); 
    "
    个人理解原因还是同样的,窗口会在重新注册事件之后再把鼠标消息发给控件.
    如果这是个bug,就算了,毕竟这个程序是写来测试别的程序用的.就怕是因为自己水平有限,无法解决.待续......
      

  14.   

    因为你的程序是顺序执行的,你在执行操作的时候(按钮是灰的)点击按钮,等退出这个过程才会响应这个按钮点击的消息,但这时已经button.enabled=true;了,所以在做这些操作的时候最好是放在线程里完成
      

  15.   

    谢谢。ls各位。其实只是个简单的辅助测试的程序。这个问题也不会影响什么,只是觉得挺奇怪。
    谢谢ls的解决方案。跟大家交流也学到了不少知识。
    结贴,无分。新人,没分,不好意思了!
      

  16.   

    用改变按钮颜色为灰代替enable=false就可以
    button1.BackColor = SysteColor.Grey.