средняя прокрутка в текстовом поле - PullRequest
3 голосов
/ 07 октября 2009

В моем приложении есть многострочное текстовое поле, и когда я нажимаю среднюю кнопку, чтобы прокрутить вверх или вниз, оно не работает.

Это работает в Блокноте, но не в моем текстовом поле. Кто-нибудь знает почему? или, если есть возможность программно начать прокрутку в нужном направлении при нажатии средней кнопки?

Ответы [ 2 ]

3 голосов
/ 06 июля 2010

Чтобы заставить работать колесо прокрутки мыши, создайте свой собственный класс TextBox, который наследует TextBox.

Переопределить метод WndProc.

Посмотрите на тип сообщения.

Для типа сообщения 0x207 (WM_MBUTTONDOWN) вызовите DefWndProc (ref m); Для любого другого типа сообщения, вызовите base.WndProc (ref m);

Тогда ваше текстовое поле будет иметь среднюю кнопку прокрутки.

Обычно Windows.Forms переопределяет встроенную функцию средней кнопки текстового поля, поэтому элемент управления может иметь событие MouseDown для средней кнопки, но это также отключает встроенную функцию прокрутки. Вернитесь к вызову обработчика окна по умолчанию, и текстовое поле вернется к своей функции прокрутки.

0 голосов
/ 07 октября 2009

У вас есть свойство ScrollBars, установленное на Vertical или Both?
Для меня это не работает только когда ScrollBars = None или Horizontal

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...