你可以跟着我,最好你创建一个包含以下代码的小应用程序:
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()
,但没有成功。
你有什么想法吗?
非常感谢你迈克。
我通过创建一个派生于
TextBox
的类并覆盖 OnMouseDown
: 来解决这个问题
protected override void OnMouseDown(MouseEventArgs e)
{
this.Select(0, 0);
base.OnMouseDown(e);
}
现在完美运行!
当您在 txt 中时,只需发送 myText.SelectAll();功能
但如果你不是。
void myTextSelctor()
{
myTextBoxToSelect.Focus();
myTextBoxToSelect.SelectAll();
}
这对我有用。