我有一个只读的 RichTextBox
,光标设置为箭头
。然而,当我将鼠标悬停在其上时,光标会闪烁,并且在箭头
和 IBeam
之间迅速切换。我该如何让它保持在箭头
状态而不闪烁?
我有一个只读的 RichTextBox
,光标设置为箭头
。然而,当我将鼠标悬停在其上时,光标会闪烁,并且在箭头
和 IBeam
之间迅速切换。我该如何让它保持在箭头
状态而不闪烁?
using System.Windows.Forms;
public class ExRichTextBox : RichTextBox
{
const int WM_SETCURSOR = 0x0020;
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_SETCURSOR)
Cursor.Current = this.Cursor;
else
base.WndProc(ref m);
}
}
它停止闪烁了。虽然不是完美的解决方案,但至少那些重要的快捷方式将继续工作。
private void richTextBox1_MouseMove(object sender, MouseEventArgs e)
{
if (!richTextBox1.ClientRectangle.Contains(e.Location)) {
richTextBox1.Capture = false;
}
else if (!richTextBox1.Capture) {
richTextBox1.Capture = true;
}
}
MouseMove
事件。 - JimirichTextBox1.Capture = true;
。 - Jimi
DefWndProc
被调用时传递的内容(前后)。不过这需要进行一些测试。 - Jimi