winform程序button控件未设置任何热键,为何还可通过热键触发事件

问题描述

winform窗体中的某个按钮,没有定义任何热键但是在程序处理逻辑将该按钮的enabled属性设置为false后,偶然情况下,客户拍了下键盘,居然触发了该按钮事件可以保证1、该按钮的单击事件没有任何其他地方触发,也就是说只有用鼠标单击该按钮才可触发2、整个窗体及其他控件都未设置过热键3、按钮的enabled属性为false,并不存在处理逻辑失误导致enabled属性为true,由客户点击按钮造成触发事件4、客户机上未运行其他任何程序求各位大神解答,谢谢

解决方案

本帖最后由 ilovedxt 于 2015-04-10 22:47:39 编辑
解决方案二:
在你自己的电脑上重复10遍,你能保证至少有7次都一定触发同样的事件吗?如果不能重现问题,就无法承接这种问题。如果能确保重现问题,那么你自己就不会这样来描述问题了。
解决方案三:
会点编程技术本身是很低级的东西,只有那些纯粹的外行才会感觉我们这些会点编程的人好像挺高大上、挺会修电脑甚至修软件似地。但是我们自己应该知道,真正高级的是首先懂得“如何重现问题”那些人,那些人的本事在编程之外,在于有测试的创意,在编程之上。而如果我们整天都毫无测试的创意,不把精力用于研究“如何重现问题”,还整天“瞎猜技术原因”,就太迂腐了。
解决方案四:
关键就是不能重现问题,所以没有解决方案,而且都是偶然出现,但是能保证如果出现这种情况,一定是固定的button,窗体上的其他button都没出现这种情况。一开始考虑是逻辑错误,导致该按钮的enabled属性并未设置为false,但是通过输出日志发现确实已经设置为false了之后考虑是不是注册了热键,检查后发现没有,而且经过测试,发现就算该按钮注册了热键,但是enabled设置为false后,热键也不会触发按钮事件今天又试了下,是不是按钮获取焦点后用户按了enter或空格键等特殊按键,发现按键获取焦点后,一旦enabled设置为false,焦点会自动的转到下一个控件上去,顺序是按照控件的tabindex属性来的。所以也排除了用户通过enter和空格两个特殊按键触发事件。
解决方案五:
而且还不知道客户是按了哪个键触发的,如果知道还能具体测试下,问了客户,今天给我回答是不知道,今天是个小孩在乱拍键盘导致出现这种问题的。

时间: 2024-11-27 06:10:06

winform程序button控件未设置任何热键,为何还可通过热键触发事件的相关文章

c#-winform程序listview控件修改数据后动态刷新效果

问题描述 winform程序listview控件修改数据后动态刷新效果 在另一个窗口中修改好listview控件数据,并能在listview立刻显示出来. 怎么实现求大神指点!谢谢 解决方案 参考:http://bbs.csdn.net/topics/360140208 解决方案二: 你所谓的立刻是什么意思? 解决方案三: 在Form2窗体中声明 public Form1 f1; Form1按钮单击事件中: Form2 f2 = new Form2(); f2.f1 = this; f2.Sho

学习Winform文本类控件(Label、Button、TextBox)_C#教程

对于一个应用程序而言,控件是搭建用户界面的积木.它们具备交互式的特征.VS 2012中的控件都放在工具箱中,添加一个控件到窗体,只需在工具箱中选择好要添加的控件,并按住鼠标左键,拖动到窗体上即可.向窗体上添加控件还有另一个方法,就是通过代码来实现,即可通过窗体的Controls类的Add方法,格式为:窗体标识.Controls.Add(控件标识).通过代码的方法添加控件比较麻烦,基本上是不会使用这种方法的. 文本类控件包含标签控件(Label),按钮控件(Button),文本框控件(TextBo

winform设置控件层次设置问题

问题描述 winform设置控件层次设置问题 本人winform刚学,做KTV项目,想设置图片控件的层次,请大神帮忙,谢谢 解决方案 A.SendToBack();置于底层A.BringToFront(); 置于顶层 如果是控件的布局之类的 建议用容器 比如panel groupbox等

图片-Android Button控件点击区域怎么设置为圆形

问题描述 Android Button控件点击区域怎么设置为圆形 如题,怎么将默认的方形Button响应区域设置为圆形响应区域,因为图片是圆形的 解决方案 如图:一个自定义Button类,用它替代xml里的Button. 解决方案二: 用的imagebutton?图片用png格式,背景设为透明 解决方案三: 背景也可用shape设置圆形 解决方案四: 使用shape属性来写吧.http://www.cnblogs.com/cyanfei/archive/2012/07/27/2612023.ht

vb.net的Button控件

Button(按钮)控件一般接受鼠标单击事件被用来启动.中断或结束一个进程(相当于Visual Basic以前版本的CommandButton控件).单击Button控件时将调用已写入Click事件过程中的过程.Button控件在大多数Visual Basic应用程序中都会用到,用户可以单击按钮执行操作.单击时,按钮不仅能执行相应的操作,而且看起来与被按下和松开一样.Button控件在工具箱中的图标如图所示: 1.向窗体添加按钮 在应用程序中很可能要使用多个按钮.就象在其他容器控件上绘制按钮那样

学习Winform分组类控件(Panel、groupBox、TabControl)_C#教程

分组类控件主要包括容器控件(Panel),分组框控件(groupBox)和选项卡控件(TabControl)等控件. 一.Panel控件 Panel控件是由System.Windows.Forms.Panel类提供的,主要作用就是将其他控件组合一起放在一个面板上,使这些控件更容易管理.当Panel控件面板上要显示过多的控件时,可设置AutoScroll属性为true.  Panel控件在默认情况下不显示边框,如把BorderStyle属性设置为不是none的其他值,就可以使用面板可视化地组合相关

Android编程之Button控件配合Toast控件用法分析_Android

本文实例讲述了Android编程之Button控件配合Toast控件用法.分享给大家供大家参考,具体如下: 在本章教程中,我们将会学习Button控件的使用,同时顺便说一下Toast提示控件. 在Android程序开发中,我们使用最多的用户交互控件可能就是Button的了,而我们使用最多的事件估计也就是onclick事件了. 这些事件也是最简单的事件,我们一般通过google自带的API接口就可以调用了,我们具体看看怎么做吧. 第一步.新建一个工程Ep.Toast,活动和主视图名称我都使用默认的

MFC Button控件自绘制----详细讲解

VC下的界面着实难看 有时候我们不得不自己进行控件的绘制 以前 一直不理解最近再次看了学了一遍终于明白了一点   与大家分享下...       需要源代码的Q我 寻找一起学VC的朋友     比如说 我们要改变一个编辑框的背景 我们响应WM_CTLCOLOR函数 进行OnCtlColor进行修改但是对与 Button控件就不行了 ..      这时候我们要进行自绘制    相关函数   virtual void DrawItem( LPDRAWITEMSTRUCT lpDrawItemStr

mfc界面美化-MFC的Button控件设计界面

问题描述 MFC的Button控件设计界面 新手求救,花了一天做button按钮的设计还做不出来,能改变颜色和大小就好,最好能有源代码,这样我才看的懂 解决方案 MFC_Button控件MFC Button控件的背景色MFC Button控件的背景色 解决方案二: CButton有个SetBitmap函数,想要什么图案自己画,大小是按钮的基本参数,很容易设置. 解决方案三: 要重绘啊,自己用代码来生成按钮