none
这个Bug怎么解决啊?又要API吗? RRS feed

  • 问题

  • 用鼠标在CheckBox的控件上做如下动作:
    按下左键不放,按下右键不放,释放右键,移走鼠标,释放左键,然后Bug就出来了,很明显,外观没刷新。
    所有ButtonBase的都有这个Bug,存在于所有.NET版本。
    能不能重写一下api修复啊
    大家帮忙想办法,谢先!
    • 已编辑 eshizhan 2010年2月4日 16:53
    2010年2月4日 7:37

答案

  • 你好 如果是要报告bug  可以去http://support.microsoft.com/?LN=zh-cn&x=13&y=5反馈
    Memory all alone in the moonlight~My Blog in .NET~~~
    2010年2月4日 9:35
    版主
  • 谢谢您这么有耐心!
    光左键操作没有任何问题,只是左右键一起操作就会出bug,我的blog中的截图是在没按下任何键时截下的。也就是说我的手指头离开鼠标10cm以上时,用键盘截的图。您一定按步骤操作:新建一个.net程序,拖个checkbox,运行。在checkbox上,同时按下并按住不放鼠标的左键和右键,然后释放右键,接下来移动鼠标,使光标离开checkbox,这个过程您的鼠标左键一直处于按下的状态,最后释放鼠标左键,并让您的手指离开鼠标10cm以上,我保证您能看到bug。
    2010年2月9日 16:22
  • 你好!
         我重现这个问题了,这里的确有问题,可以把这个bug上报给微软:
         connect.microsoft.com
    周雪峰
    2010年2月11日 12:27
    版主

全部回复

  • 你好 如果是要报告bug  可以去http://support.microsoft.com/?LN=zh-cn&x=13&y=5反馈
    Memory all alone in the moonlight~My Blog in .NET~~~
    2010年2月4日 9:35
    版主
  • 你好!
         这个和右键的关系不大,你用左键就能得到类似的效果!
         在Button上点左键,然后一直按住,在把鼠标指针移动到Button以外的区域,这时Button相当于没有点击!
         这个不是bug,Windows就是这样设计的,鼠标按下,然后再释放才算一次完整的点击,如果鼠标在控件的区域外释放,控件没有收到释放消息,所以这次不被认为是一次有效的点击!
         你可以试试,所有的Windows应用程序的按钮都是这样的!
         希望这个解释对你有帮助!
    周雪峰
    2010年2月4日 10:44
    版主
  • 不是滴,其他Win32的应用程序,当移走鼠标,外观状态会恢复,您可以试试,但唯独.net不能
    2010年2月4日 16:49
  • 请问你说的是哪种程序的哪种控件?
    你用系统自带的计算器试试,上面的按钮和我上面描述的行为一致!

    周雪峰
    2010年2月4日 17:23
    版主
  • 计算器按着我的步骤,在第二步时会出现,“这是什么?”的帮助提示。
    您拿WinRAR试试吧,“选项”对话框里面的复选框是Win32正常的状态。
    .net 程序不会这样。这个确实不好理解,我录制了视频,您可以到我的Blog上看看,http://www.cnblogs.com/eshizhan/archive/2010/02/04/1663715.html
    2010年2月7日 11:20
  • 你好!
         你说的是按钮的那个红框和蓝框的外观吧,当你把鼠标移动走以后,释放鼠标的时候按钮才能完全恢复成最初的外观,计算器上的按钮就是如此的!
         你说的WinRAR的CheckBox我也测试了,效果和WinForm中提供的CheckBox效果完全一样:
         鼠标移动到CheckBox,CheckBox变红框,按下鼠标,CheckBox变凹陷,然后按住鼠标,把鼠标移开,CheckBox不凹陷了,但是仍然是红框,然后释放鼠标按键,红框消失!
        
    周雪峰
    2010年2月7日 17:22
    版主
  • 谢谢您这么有耐心!
    光左键操作没有任何问题,只是左右键一起操作就会出bug,我的blog中的截图是在没按下任何键时截下的。也就是说我的手指头离开鼠标10cm以上时,用键盘截的图。您一定按步骤操作:新建一个.net程序,拖个checkbox,运行。在checkbox上,同时按下并按住不放鼠标的左键和右键,然后释放右键,接下来移动鼠标,使光标离开checkbox,这个过程您的鼠标左键一直处于按下的状态,最后释放鼠标左键,并让您的手指离开鼠标10cm以上,我保证您能看到bug。
    2010年2月9日 16:22
  • 你好!
         我重现这个问题了,这里的确有问题,可以把这个bug上报给微软:
         connect.microsoft.com
    周雪峰
    2010年2月11日 12:27
    版主
  • 嗯 好的 我已经递交了 谢谢!
    2010年2月17日 7:12
  • 不客气啊! 祝愿你新年快乐啊!
    周雪峰
    2010年2月17日 7:25
    版主