Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当鼠标指针位于RichTextBox中的粗体字上时,如何更改光标?_C#_Cursor_Richtextbox - Fatal编程技术网

C# 当鼠标指针位于RichTextBox中的粗体字上时,如何更改光标?

C# 当鼠标指针位于RichTextBox中的粗体字上时,如何更改光标?,c#,cursor,richtextbox,C#,Cursor,Richtextbox,当鼠标指针位于RichTextBox中的粗体单词上时,我想将光标更改为手。如何做到这一点? 注册OnMouseMove处理程序 召唤 确定该索引是否超过粗体字符 根据需要设置属性 将此函数添加到richtextbox.OnMouseMove事件中 private void richTextBox2_MouseMove(object sender, MouseEventArgs e) { int c = richTextBox2.GetCharIndexFr

当鼠标指针位于RichTextBox中的粗体单词上时,我想将光标更改为手。如何做到这一点?

  • 注册OnMouseMove处理程序
  • 召唤
  • 确定该索引是否超过粗体字符
  • 根据需要设置属性

将此函数添加到richtextbox.OnMouseMove事件中

private void richTextBox2_MouseMove(object sender, MouseEventArgs e)
        {
            int c = richTextBox2.GetCharIndexFromPosition(new Point(e.X, e.Y));
            richTextBox2.Select(c, 1);
            if (richTextBox2.SelectionFont.Bold)
            {
                richTextBox2.Cursor = Cursors.Hand;
            }
            else
            {
                richTextBox2.Cursor = Cursors.Default;
            }

        }

您只需要1个字符就可以知道它是否粗体。

谢谢您的回答,但我的问题是第3步(•确定该索引是否超过粗体字符),如何在不更改SelectionStart和SelectionLength的情况下确定?