在我的Windows窗体应用程序中,我有一个RichTextBox和一些其他控件。我想要的是在文本框中输入一些单词然后我将光标移到框外,然后点击HOME键。光标应该返回RichTextBox中文本的开头。
我完成了这部分并完美地完成了工作。
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Home)
{
richTextBox1.SelectionStart = 0;
Cursor.Position = richTextBox1.PointToScreen(richTextBox1.Location);
}
}
然而我看不到光标,当然也没有闪烁。 添加以下代码无效。
Cursor.Show();
我的问题是如何启用光标显示?
答案 0 :(得分:0)
通过评论的暗示对不起愚蠢。控制应该集中。只需添加一行代码:
richTextBox1.Focus();
谢谢大家。
答案 1 :(得分:0)
你可以这样做:
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Home)
{
richTextBox1.SelectionStart = 0;
richTextBox1.Select();
richTextBox1.Focus();
Cursor.Position = richTextBox1.PointToScreen(richTextBox1.Location);
}
}
这将设置选择开始,然后选择富文本框。现在,如果在调用Select()方法之后没有焦点,则Focus()方法将确保控件获得焦点。
希望这有效......