【问题标题】:Enable cursor show up and blinking启用光标显示和闪烁
【发布时间】:2014-07-17 03:20:41
【问题描述】:

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

我的问题是如何让光标显示出来?

【问题讨论】:

  • 我认为只有在 RichTextBox 获得焦点时才会显示光标。
  • 也许这会有所帮助:stackoverflow.com/questions/7873563/…
  • Cursor 是鼠标箭头,你可能是指文本光标?
  • 它被称为插入符号,而不是光标。只需致电richTextBox1.Select();
  • @CommuSoft,是的,也许。我不知道确切的名字。

标签: c# .net winforms


【解决方案1】:

在 cmets 的暗示下,对不起,愚蠢。控制应该集中。只需添加一行代码:

richTextBox1.Focus();

谢谢大家。

【讨论】:

    【解决方案2】:

    你可以这样做:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-17
      • 1970-01-01
      相关资源
      最近更新 更多