zoukankan      html  css  js  c++  java
  • C# 计算器 如果设置键盘输入的监听事件

    这个事情困扰了我好久,之前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

  • 相关阅读:
    Django学习-9-ORM多对多操作
    Django学习-8-模板渲染的一些特性
    Django学习-7-ORM操作
    Django学习-6-路由系统
    Hadoop 知识
    最全的Spark基础知识解答
    windows server 2008 R2 远程连接用户数修改
    Windows 2008 R2 SP1部署WSUS 3.0 SP2
    Windows Server2008 R2 设置NAT 让Hyper-V连接Internet
    免费好用的Microsoft iSCSI Software Target 3.3
  • 原文地址:https://www.cnblogs.com/Wfei/p/3150085.html
Copyright © 2011-2022 走看看