C# 如何在单击时设置文本框的光标位置
我需要一个文本框预先填充一些文本,并希望光标在聚焦时默认为文本框的开头C# 如何在单击时设置文本框的光标位置,c#,textbox,cursor,position,C#,Textbox,Cursor,Position,我需要一个文本框预先填充一些文本,并希望光标在聚焦时默认为文本框的开头 private void txtBox_Enter(object sender, EventArgs e) { if (this.txtBox.Text == "SOME PREFILL TEXT") { this.txtBox.Select(0, 0); } } 我正在捕获如上所述的_Enter,如果我在文本框中单击tab键,它实际上会起作用,但是如果我在文本框中单击鼠标,光标会出
private void txtBox_Enter(object sender, EventArgs e)
{
if (this.txtBox.Text == "SOME PREFILL TEXT")
{
this.txtBox.Select(0, 0);
}
}
我正在捕获如上所述的_Enter,如果我在文本框中单击tab键,它实际上会起作用,但是如果我在文本框中单击鼠标,光标会出现在执行鼠标单击的任何位置,表明它在_Enter事件后被处理,有效地“覆盖”了我所做的事情。
为了解决这个问题,我钩住了_Click事件来调用txtBox_Enter处理程序,但是运气不好
这方面有什么办法吗
谢谢,
-Ben也许您可以将if块提取到它自己的方法中 然后从txtBox_Enter()以及_Click或(如果存在)AfterClick()调用它
您还可以使用_Focus()事件进行调查,尽管我不确定它们在触发事件的顺序中位于何处。也许您可以将if块提取到它自己的方法中 然后从txtBox_Enter()以及_Click或(如果存在)AfterClick()调用它
您还可以研究使用_Focus()事件,尽管我不确定它们在触发事件的顺序中属于何处。您试图实现的是什么-更改默认功能(例如单击通常会选择光标位置)会带来用户体验问题
也许您正在尝试的是类似的东西?您正在尝试完成的是什么-更改默认功能(例如单击通常会选择光标位置)会带来用户体验问题
也许你想要的是类似的东西?我通过处理“鼠标点击”事件解决了这个问题。我使用_Enter事件将选项卡处理到控件中,并将相同的代码添加到_MouseClick:
private void txtBox_MouseClick(object sender, EventArgs e)
{
if (this.txtBox.Text == "SOME PREFILL TEXT")
{
this.txtBox.Select(0, 0);
}
}
同时使用_Enter和_MouseClick事件应该可以满足您的需要。我通过处理_MouseClick事件解决了这个问题。我使用_Enter事件将选项卡处理到控件中,并将相同的代码添加到_MouseClick:
private void txtBox_MouseClick(object sender, EventArgs e)
{
if (this.txtBox.Text == "SOME PREFILL TEXT")
{
this.txtBox.Select(0, 0);
}
}
使用_Enter和_MouseClick事件应该可以满足您的需要。这正是我想要的。我已经有了一个手动维护的提示,但我也在努力专注地工作。鉴于这是SETCUEBANNER的一个选项,它看起来对我很有用,谢谢:)这正是我想要的。我已经有了一个手动维护的提示,但我也在努力专注地工作。鉴于这是SETCUEBANNER的一个选项,它看起来对我很有用,谢谢:)