启用光标显示和闪烁

时间:2014-07-16 18:57:46

标签: c# .net winforms

在我的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();

我的问题是如何启用光标显示?

2 个答案:

答案 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()方法将确保控件获得焦点。
希望这有效......