本帖最后由 xl_0715 于 2011-12-09 23:56:49 编辑

解决方案 »

  1.   

    有变通的办法,在按钮的MouseUp事件里,将焦点转到某个Visible属性为false的控件就可以了:myInvisibleControl.Focuse();
      

  2.   

    楼上回答前最好先测试一下。如果放在MouseDown里,click事件就失效了,这应该和事件的先后次序有关。其实你已经指出了,这里有个矛盾,点击就必须获得焦点。所以只能变通解决。
    除非自己写个控件,自己来画。
      

  3.   

    既然已经想到模拟,为什么不把click事件执行的部分放到MouseDown中?点击按钮不放鼠标 光标会移开么?
      

  4.   

    用其他方式代替,在上面加onclick模拟
      

  5.   

    今天又试了一下
    在MouseDown里写执行的代码,最后在 otherControl.focus()看不到虚框,但是这时候点击按钮的3d效果
    也消失了
    不知道 计算器怎么做的
      

  6.   

    在 onclick 事件中,调用 blur() 方法,如
    <input type="button" value="测试" onclick="alert('a'); this.blur();" />
      

  7.   

    你应该可以为button 指定样式可以光标在button 上时 让button 有样式 这样应该就会看不到虚框