在单击事件中从文本框中选择文本

问题描述 投票:0回答:2

你可以跟着我,最好你创建一个包含以下代码的小应用程序:

public Form1()
{
    InitializeComponent();

    textBox1.Text = "Any Text";
    textBox1.Click += delegate
                            {
                                textBox1.Select(0, 0);
                            };
}

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    linkLabel1.Focus();
}

linkLabel1
只在那里,您可以将焦点从
textBox1
上移开。

现在,只需单击

textBox
Select
方法起作用,并且选择了文本的第一个位置。 问题是,首先选择点击的位置。虽然时间很短,但还是很烦人。

我已经在

this.SuspendLayout()
事件中尝试了
GotFocus
(因为这会在 Click 之前触发)和 Click 事件中的
this.ResumeLayout()
,但没有成功。

你有什么想法吗?

c# events select properties
2个回答
0
投票

非常感谢你迈克

我通过创建一个派生于

TextBox
的类并覆盖
OnMouseDown
:

来解决这个问题
protected override void OnMouseDown(MouseEventArgs e)
{
    this.Select(0, 0);

    base.OnMouseDown(e);
}

现在完美运行!


0
投票

当您在 txt 中时,只需发送 myText.SelectAll();功能

但如果你不是。

void myTextSelctor()
 {
    myTextBoxToSelect.Focus();
    myTextBoxToSelect.SelectAll();
 }

这对我有用。

© www.soinside.com 2019 - 2024. All rights reserved.