在Click事件中从TextBox中选择Text

时间:2013-05-06 13:57:33

标签: c# events select properties

您可以关注我,您最好创建一个包含以下代码的小应用程序:

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之前被触发)和点击事件中的this.ResumeLayout(),但没有成功。

你有什么想法吗?

1 个答案:

答案 0 :(得分:0)

非常感谢 Mike

我通过创建一个派生自TextBox并覆盖OnMouseDown的类来解决这个问题:

protected override void OnMouseDown(MouseEventArgs e)
{
    this.Select(0, 0);

    base.OnMouseDown(e);
}

现在完美无缺!