В 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, но это выглядит мерцающим, поскольку два курсора сражаются друг с другом.Могу ли я как-то заблокировать этот автоматический переключатель для курсора «стрелка»?
РЕДАКТИРОВАТЬ: Попробовал установить свойство Cursor:
void richText_MouseDown(object sender, MouseEventArgs e) {
if (e.Button == MouseButtons.Middle) {
richText.Cursor = MainForm.cursors["hand_NS"];
//Cursor.Current = MainForm.cursors["hand_NS"];
}
}
Восстановление курсора двутавровой балки:
void richText_MouseUp(object sender, MouseEventArgs e) {
if (e.Button == MouseButtons.Middle) {
richText.Cursor = Cursors.IBeam;
//Cursor.Current = Cursors.IBeam;
}
}