使文本框仅在第一次单击时高亮显示文本

本文关键字:文本 高亮 显示 单击 第一次 | 更新日期: 2023-09-27 18:29:49

目前我有它,所以当你选择文本框时,它会突出显示其中的文本,但我希望它只在第一次选择时这样做,这样它就不会删除用户每次键入的文本。以下是我用来突出显示文本的内容:

private void txtName_Focus(object sender, EventArgs e)
    {
        bool isFirstTime = true;
        if (isFirstTime == true){
        txtName.SelectionStart = 0;
        txtName.SelectionLength = txtName.Text.Length;
        }
        isFirstTime = false;

    }

使文本框仅在第一次单击时高亮显示文本

bool isFirstTime = true;这是您的问题。每次调用焦点事件时,都会将其初始化为true。将bool isFirstTime;移动为类的成员,并在声明、构造函数或表单加载事件中将其初始化为true一次

也许是这样的:

bool txtNameWasFocused=false;
private void txtName_Focus(object sender, EventArgs e)
{
    if(!txtNameWasFocused){
        txtNameWasFocused=true;
        txtName.SelectionStart = 0;
        txtName.SelectionLength = txtName.Text.Length;
    }
}

如果你在很多地方都需要它,你可能会想到一个具有这种特殊行为的派生文本框。。。