在 C# WinForms 中,我有一个自定义 RichTextBox,我可以在其中自己处理鼠标中键滚动。完成后,我想显示我自己的光标。当按下中间按钮时,我在 MouseDown 事件中切换到此光标。
void richText_MouseDown(object sender, MouseEventArgs e) {
if (e.Button == MouseButtons.Middle) {
Cursor.Current = MainForm.cursors["hand_NS"];
}
}
但是,文本框随即切换到 Windows“箭头”光标。这似乎是 RichTextBox autom 的一部分。MouseDown 或 MouseMove 中的行为。我可以通过在 MouseMove 中不断显示我的光标来覆盖它,但它看起来闪烁,因为两个光标相互争斗。我可以以某种方式阻止此自动切换到“箭头”光标吗?
编辑:尝试设置光标属性:
void richText_MouseDown(object sender, MouseEventArgs e) {
if (e.Button == MouseButtons.Middle) {
richText.Cursor = MainForm.cursors["hand_NS"];
//Cursor.Current = MainForm.cursors["hand_NS"];
}
}
恢复 I 型光标:
void richText_MouseUp(object sender, MouseEventArgs e) {
if (e.Button == MouseButtons.Middle) {
richText.Cursor = Cursors.IBeam;
//Cursor.Current = Cursors.IBeam;
}
}