• Focus相关点滴


    • 获取当前焦点所在的控件.
      • .Net本身没有该API.必须使用Win32 API解决.
      • internal static extern IntPtr GetFocus();
      • Control focusedControl = Control.FromHandle(GetFocus());
    • 判断控件是否含有焦点.
      • Focused属性获取Control本身是否含有焦点.
      • ContainsFocus属性用以判断Control本身以及其子控件是否含有焦点.
    • Select()/Focus()方法
      • 在初始化时,如果想选中某个控件.
        • 在New()/Load事件中使用focus()是不可以的.因为控件还没有加载完毕.
        • 在New()/Load事件中,使用Select()方法可以.
        • 或者将该控件的TabIndex设置为0.
      • 关于不可见控件.
        • 使用Focus()方法无效.直接返回false.
        • 使用Select(),会递归向上寻找父Control,直到某一层的父Control可以被选中.那么选中之.
      • 关于不可选中控件.
        • MSDN中,举出了Selectable为false,也就是所谓不可选中的控件的列表.这里我们使用Label作实验.得出的结果很是诡异,并且跟MSDN中不一致.
        • 在Load事件/New()中,Select()/Focus()方法都是无效的.
        • 在系统加载完毕后(如一个Button的点击事件中).使用Select()/Focus()方法都可以将焦点置于Label之上.此时调用系统API的GetFocus()时,得到的焦点控件是Label.但是,重点是,其Focused/ContainsFocus属性都是False.
  • 相关阅读:
    vgcreate语法
    lsmod语法
    lvm语法2
    lvm语法
    mount语法
    fdisk语法
    mdadm语法
    ln语法
    mknod语法
    黑客常用dos-cmd命令
  • 原文地址:https://www.cnblogs.com/robyn/p/3465732.html
Copyright © 2020-2023  润新知