这个事情困扰了我好久,之前java写的计算器程序可以正常运行了,但是因为打包问题(尝试过多次,感觉好麻烦,个人比较崇尚“点子”,注重创新,思来想去之后,决定试试C#模仿java再写一遍),想要用C#模仿写一个,因此也遇到了很多问题,初学者啊,被欺负了:

(1)程序写好了,刚开始运行时,只能先用鼠标输入,键盘输入才能输进去,看了网上很多很多的问题,个人琢磨可能是焦点的问题,这个先不断言

(2)键盘监听,鼠标的click事件都能正常响应,但是用键盘输入时,就无法正常的输入了,每个按钮的keypress事件都是一样的处理代码,结果键盘输入时显示的都是一样的内容,比如之前键盘 / 鼠标输入3,之后键盘无论按那个键都是输入3,悲剧呀,

(3)综上所述,最后,我就琢磨了,看了网上N多的资料、问题,感觉是焦点的问题,难道是要更换按钮的焦点吗?但是按钮没了焦点又无法键盘输入了啊;我想用类似java里的那种lister监听,c#中有吗,直接pass,vs中的msdn也不会用,也没有类似java的api,初学者啊,被打击了

最后终于在网上淘到了一片有用的回答,还是在写baidu知道是系统推荐出来的,之前baidu搜咋搜不到呢???具体解决如下:

【】首先要设置窗体的keypreview 为 true,这里一定要是窗体的,代码,直接添加一条语句,就可以了:

this.KeyPreview = true;

拖控件者操作:点击窗体的标题(选中窗体),在属性中找到keypreview ,设为 true

【】然后设置 窗体名_KeyDown()事件,在这个方法中填入事件发生时的处理代码即可,代码,直接写方法,然后再窗体的时间注册一下就ok了:

private void Computer_KeyDown(object sender, KeyEventArgs e)()

拖控件者操作:点击窗体的标题(选中窗体),在属性中的事件里找到KeyDown,双击进入,在方法中填入事件发生时的处理代码即可

【】OK,按钮上不需要添加什么事件了,程序开始第一次运行后,问题(1)(2)(3)全部解决

链接见:http://zhidao.baidu.com/question/406512301.html

C# 计算器 如果设置键盘输入的监听事件的更多相关文章

  1. JPanel添加键盘监听事件

    因为在自己的游戏需求中谢了要用键盘控制飞机的移动,所以用到键盘监听事件,但是使用了JPanel之后添加了键盘监听事件,按相应的方向键飞机并没有反应.但是如果是为JFrame的内容面板加则会有反应. 为 ...

  2. js 获取当前焦点所在的元素、给元素和input控件添加键盘监听事件、添加页面级的键盘监听事件

    页面级的键盘监听事件 document.onkeydown = function (event) { var e = event || window.event || arguments.callee ...

  3. [置顶] java Gui 键盘监听事件

    简单写一个java Gui键盘监听事件,实现的效果就是按下键盘控制台输出你按下的键.比如:按下A控制台就输出A 效果如图: 以下把实现的效果分为几个步骤: 1.新建一个窗体类继承窗体: 2.给这个窗体 ...

  4. NavigationView头部设置监听事件

    直接写解决方法吧: 1.将XML里的静态引入删除: <android.support.design.widget.NavigationView android:id="@+id/nav ...

  5. UI设计篇·入门篇·简单动画的实现,透明动画/旋转动画/移动动画/缩放动画,混合动画效果的实现,为动画设置监听事件,自定义动画的方法

    基本的动画构成共有四种:透明动画/旋转动画/移动动画/缩放动画. 配置动画的方式有两种,一种是直接使用代码来配置动画效果,另一种是使用xml文档配置动画效果 相比而言,用xml文档写出来的动画效果,写 ...

  6. 为不具有change事件的html标签设置监听事件

    change事件会在文本内容或选项被更改时触发. 该事件仅适用于<input type="text">和<textarea>以及<select> ...

  7. python hook监听事件

    python hook监听事件 作者:vpoet mail:vpoet_sir@163.com # -*- coding: utf-8 -*- # # by oldj http://oldj.net/ ...

  8. JAVA JComboBox的监听事件(ActionListener、ItemListener)

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   参考资料: http://263229365.iteye.com/blog/1040329 https://www.ja ...

  9. Android——监听事件总结

    各种监听事件 1.按钮 Button(1)点击监听 btn_1.setOnClickListener(new View.OnClickListener() { (2)长按监听 btn_1.setOnL ...

随机推荐

  1. 关于Windows Phone的资源文件Build Action属性

    最近一朋友问了一个问题,他想引用一个本地图片到页面上的Image控件,可是发现用Application的GetResourceStream得到的结果是个null值,当时第一个想到的就是他图片的Buil ...

  2. mvc模式jsp+servel+dbutils oracle基本增删改查demo

    mvc模式jsp+servel+dbutils oracle基本增删改查demo 下载地址

  3. JavaSE_ API常用对象 总目录(11~14)

    JavaSE学习总结第11天_开发工具 & API常用对象111.01 常见开发工具介绍11.02 Eclipse和MyEclipse的概述11.03 Eclipse的下载安装及卸载11.04 ...

  4. linux下安卓编译apk环境搭建

    ubuntu下linux安卓编译环境搭建. 配置好编译环境 (前提是已经安装了jdk,可以用java -verison 命令查看) 一.设置环境变量 用vi  ~/.bashrc  打开编译环境 JA ...

  5. canvas绘制弹跳小球

    <!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. 5.6.3 String类型

    String类型是字符串的对象包装类型,可以像下面这样使用String构造函数来创建. var stringObject = new String("hello world"); ...

  7. createNewFile创建空文件夹与createTempFile创建临时文件夹

    创建要注意的地方如下: <pre name="code" class="java"> File类的createNewFile根据抽象路径创建一个新的 ...

  8. JS 利用window.open实现post方式的参数传递

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. php文件链接数据库基本代码

    <?php $conn=@mysql_connect("localhost","root",""); if($conn==null) ...

  10. 转: angularjs学习总结(~~很详细的教程)

    1 前言 前端技术的发展是如此之快,各种优秀技术.优秀框架的出现简直让人目不暇接,紧跟时代潮流,学习掌握新知识自然是不敢怠慢. AngularJS是google在维护,其在国外已经十分火热,可是国内的 ...