在“单击事件”的“文本框”中选择“文本”
本文关键字:文本 文本框 选择 事件 单击事件 单击 | 更新日期: 2023-09-27 18:12:23
你可以跟着我,这是最好的你创建一个小的应用程序,包含以下代码:
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
方法起作用,并选择文本的第一个位置。问题是,首先点击的位置被选中。只是很短的时间,但仍然很烦人。
我已经尝试了GotFocus
事件中的this.SuspendLayout()
(因为这在点击之前被触发)和点击事件中的this.ResumeLayout()
,但没有成功。
你知道吗?
非常感谢Mike
我通过创建一个从TextBox
派生的类并重写OnMouseDown
来解决这个问题:
protected override void OnMouseDown(MouseEventArgs e)
{
this.Select(0, 0);
base.OnMouseDown(e);
}
现在工作完美!