c#禁用富文本框中的光标

本文关键字:光标 文本 | 更新日期: 2023-09-27 17:57:51

如何将richtextbox设置为只读时不显示光标/文本定位器。I.ex,这样即使你点击它,闪烁的指针也不会出现。

注意:我并不是说光标悬停在上面时应该隐藏。

c#禁用富文本框中的光标

更改Cursor属性:

<RichTextBox Cursor="None"/>

或者,如果您仍然希望光标可见,请使用:

<RichTextBox Cursor="Arrow"/>

取决于您正在创建的应用程序:Winforms还是WPF?

Winforms:

[DllImport("user32.dll")]
static extern bool HideCaret(IntPtr hWnd);
private void TextBoxGotFocus(object sender, EventArgs args)
{
    HideCaret(myControl.Handle);
}

WPF:

<RichTextBox Cursor="Arrow"/>

注意:
wpf方法强制光标为箭头形式。Winforms方法只是隐藏Caret光标。

使用HideCaret函数。你需要添加一个对user32.dll的引用,然后你可以使用这样的东西:

[DllImport("user32.dll")]
static extern bool HideCaret(IntPtr hWnd);
private void TextBoxGotFocus(object sender, EventArgs args)
{
    HideCaret(myControl.Handle);
}

请注意,通常情况下,插入符号仍然有一个点;它允许用户从控件中选择文本,并向上/向下箭头滚动。