TextBox.SelectAll()在TextBox.Enter上不起作用

问题描述 投票:-1回答:1

我有一个TextBox,我希望当用户单击它时可以高亮显示其中的所有文本(以便他们可以轻松替换它)。我将以下事件处理程序链接到TextBox:

private void TextBox_Enter(object sender, EventArgs e) {
    SelectAll();
}

但是当我单击TextBox时,文本仅被选择了不到一秒钟的时间(有时它是如此之快,我根本看不到它),然后又回到了光标状态。有谁知道如何解决此问题,或者是否有任何相对简单的解决方法?谢谢。

Edit:我对TextBox.MouseClick事件尝试了相同的操作(并且突出显示了文本),但是由于是MouseClick事件,因此每次我单击TextBox时都会突出显示文本(即使TextBox已经具有焦点)。

我也尝试过SelectionStart = 0; SelectionLength = Text.Length,但同样的事情也会发生。这使我相信问题与事件有关。

c# wpf winforms textbox controls
1个回答
0
投票

文本框具有您可以使用的SelectAll方法。将其添加到MouseDoubleClick事件处理程序中。但是,如果您愿意,也可以在MouseClick事件中使用它。

    private void mytextBox_MouseDoubleClick(object sender, MouseEventArgs e)
    {
        mytextBox.SelectAll();
    }
© www.soinside.com 2019 - 2024. All rights reserved.