zoukankan      html  css  js  c++  java
  • C# Winform设置焦点focus(textbox)和全选

    有的时候,Winform 中的 textbox 会自动聚焦;有的时候,textbox 又不会;为什么会出现这种情况呢?这与 textbox 聚焦的方式之一相关,当 textbox 被第一个拉到 Form 窗体时,textbox 会自动聚焦,反之不会,具体原因将在下文介绍。

    C# Winform设置焦点有两种方法,一种是用 Focus() 方法实现,另一种是通过控件索引实现,下面就分别介绍这两种方法具体实现步骤或代码。

    一、C# Winform设置焦点方法一:Focus 方法

    1、使用 textbox 的 Focus() 方法,需要在窗体的的 Activated 事件中写代码。首先为窗体(Form1)添加 Activated 事件,展开右边的“属性”窗口,如图1所示:

    图1

    选择“事件”图标,在 Activated 右边输入 Form1_Activated,单击任意处则打开窗体后台代码文件。

    2、在 Form1_Activated 事件中添加如下代码:

    private void Form1_Activated(object sender, EventArgs e){

      textBox1.Focus();//textbox 聚焦

    }

    这样,打开窗体 Form1,textbox焦点就会自动出现。

    二、C# Winform设置焦点方法二:设置 tabindex 索引

    如果把 textbox 的 tabindex 设置为0,则该 textbox 会自动聚焦,这就是我们有时并未设置 textbox 聚焦,却会自动出现光标的原因。一般来说,textbox 被第一个拉到窗体中,则它的 tabindex 就是0。设置 tabindex 为 0 的方法如下:

    1、选中 textbox,展开右边的“属性”窗口,找到 TabIndex,如图2所示:

    图2

    2、在 TabIndex 右边输入 0,运行程序,textbox焦点就会出现。

    三、textbox 设置焦点注意问题

    1、textbox 必须显示(即 Visible 为 True)与启用(即 Enabled 为 True),焦点(光标)才会出现。

    2、用 textbox.Focus()方法设置焦点,不能把代码写到窗体载入事件(即 Form1_Load),否则无效。

    四.全选问题

    添加事件 Enter

    private void textBox1_Enter(object sender, EventArgs e)
    
    {
        BeginInvoke((Action)delegate
        {
            (sender as TextBox).SelectAll();
        });
    } 

    转: http://www.liangshunet.com/ca/201407/957165979.htm

    https://blog.csdn.net/weixin_30475039/article/details/99209039

  • 相关阅读:
    第一阶段:前端开发_使用JS完成注册页面表单校验完善
    第一阶段:前端开发_使用 JS 完成页面定时弹出广告
    第一阶段:前端开发_使用JS完成首页轮播图效果
    第一阶段:前端开发_使用JS完成注册页面表单校验
    三、Java基础工具(1)_常用类——日期类
    使MySQL支持emoji
    1. Two Sum [Array] [Easy]
    『IOS』 遇到问题记录(长期更新)
    [IOS] 详解图片局部拉伸 + 实现图片局部收缩
    【IOS】模仿"抽屉新热榜"动态启动页YFSplashScreen
  • 原文地址:https://www.cnblogs.com/fps2tao/p/14689643.html
Copyright © 2011-2022 走看看