• 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

  • 相关阅读:
    Vue学习笔记-2
    versionCompare 版本号比较工具
    Vue学习笔记-1
    工作机会
    PAT题目AC汇总(待补全)
    sqli-labs-master 第二关+第三关+第四关
    sqli-labs-master 盲注+第五关+第六关
    Java面向对象--equeal和==
    Java面向对象--object
    Java面向对象--成员变量的初始值
  • 原文地址:https://www.cnblogs.com/Wfei/p/3150085.html
Copyright © 2020-2023  润新知