1、设置整个窗体keydown事件的时候,要设置keyPreview=true;

2、获取当前拥有焦点的控件:

关于这个问题,自己也是纠结死了,在网上搜了好多相关的问题答案,搜出的结果是:

//API声明:获取当前焦点控件句柄      
        [DllImport("user32.dll")]
        public static extern int GetFocus();
        ///获取 当前拥有焦点的控件
        private string GetFocusedControl()
        {

string focusedControl = null;
            IntPtr handle = (IntPtr)GetFocus();

if (handle == null)
                this.FindForm().KeyPreview = true;
            else
            {
                Control c = Control.FromHandle(handle);//这就是
                focusedControl =

c.Parent.TopLevelControl.Name.ToString();
            }

return focusedControl;

}

方法本身也没有问题,但是我的页面上用的当前控件刚好是引用的用户控件,使用此方法得出的结果是获得了原始的控件名字,不能用了。最好的获得方法就是: Control ctl = this.ActiveControl;

这个ctl.name,就是你要获取的当前焦点所在的控件了~

winform学习之-----关于按键操作的一些小知识(如何获取焦点所在的当前控件)20160623的更多相关文章

  1. selenium学习-模拟键盘按键操作

    导入  from selenium.webdriver.common.keys import Keys  格式:Keys.XXX 一般这么用:send_keys(Keys.XXX) # coding= ...

  2. Android学习之基础知识五—Android常用的七大控件

    一.TextView控件:在界面上显示一段文本信息 先看XML代码和执行效果:         代码分析: 1.android:id属性,给当前控件定义了一个唯一的标识符 2.android:layo ...

  3. 【转】Pro Android学习笔记(二三):用户界面和控制(11):其他控件

    目录(?)[-] Chronometer计时器控件 倒计时CountDownTimer Switch控件 Space控件 其他控件 Android提供了很多控件,基本上都是view的扩展. Chron ...

  4. Android学习笔记之按键操作

    我们如何和Android 程序来进行交互那份?来让 Android 程序产生相应的反应,我们不得不通过键盘事件.触摸事件.传感器事件等来实现. 键盘是Android中主要的输入设备,对按键的响应的处理 ...

  5. 学习笔记:Java的一些基础小知识之JVM与GC

      一.JVM是什么 Java虚拟机(英语:Java Virtual Machine,缩写为JVM),又名爪哇虚拟器,一种能够运行Java bytecode的虚拟机,以堆栈结构机器来进行实做.最早由太 ...

  6. WinForm用户自定义控件,在主窗体加载时出现闪烁;调用用户控件出现闪烁,需要鼠标才能够显示

    转载自:http://www.dotblogs.com.tw/rainmaker/archive/2012/02/22/69811.aspx 解决方案: 在调用用户控件的窗体里面添加一下代码: pro ...

  7. 学习shell之前你不得不了解的小知识

    1.!!命令                   # 表示上一条输出history |grep 23         #表示历史记录中的第23条!vim                     #上一 ...

  8. OpenTK学习笔记(2)-工作窗口的三种方法创建方法(winfrom窗体控件形式创建)

    参考资料: https://social.msdn.microsoft.com/Forums/zh-TW/1b781685-c670-4338-953d-1957a8f24a66/opentkglco ...

  9. Github 开源:升讯威 Winform 开源控件库( Sheng.Winform.Controls)

    Github 地址:https://github.com/iccb1013/Sheng.Winform.Controls 本控件库中的代码大约写于10年前(2007年左右),难免有不成熟与欠考虑之处, ...

随机推荐

  1. JS的trim()方法

    去除字符串左右两端的空格,在vbscript里面可以轻松地使用 trim.ltrim 或 rtrim,但在js中却没有这3个内置方法,需要手工编写.下面的实现方法是用到了正则表达式,效率不错,并把这三 ...

  2. 【Hibernate】Hibernate系列7之二级缓存

    二级缓存 7.1.概述 7.2.配置方法

  3. div设置边框黑框显示

    style="width:756px; height:68px; border:1px solid #000000;"

  4. 使用ajax解决ie缓存问题

    1.在XMLHttpRequest/发送的请求之前 加上 XMLHttpRequest.setRequestHeader("If-Modified-Since","0&q ...

  5. 无论IT代码系统还是人生都是有惯性的

    是的,这和IT系统和代码没有什么关系:鸡汤式的文章,看烦了的就关掉吧,想看的请听我碎碎念.惯性本是物理学研究的问题,这里没有要研究物理学里的惯性.惯性无时无刻地发生在我们的日常生活中,只是你我都没有察 ...

  6. HDU 2.1.7 (求定积分公式)

    The area Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  7. openGL纹理映射参数解析

    GLuinttexture[1]; AUX_RGBImageRec *TextureImage[1]; Status=TRUE; // Set The Status To TRUE glGenText ...

  8. dbVisualizer连接mysql

  9. Babelfish(poj 2503)

    大致题意: 输入一个字典,字典格式为“英语à外语”的一一映射关系 然后输入若干个外语单词,输出他们的 英语翻译单词,如果字典中不存在这个单词,则输出“eh” #include<iostream& ...

  10. Kafka学习笔记(一):概念介绍

    Kafka是一个开源的,分布式的,高吞吐量的消息系统.随着Kafka的版本迭代,日趋成熟.大家对它的使用也逐步从日志系统衍生到其他关键业务领域.特别是其超高吞吐量的特性,在互联网领域,使用越来越广泛, ...