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的一个选项,它看起来对我很有用,谢谢:)