Чтобы заставить работать колесо прокрутки мыши, создайте свой собственный класс TextBox, который наследует TextBox.
Переопределить метод WndProc.
Посмотрите на тип сообщения.
Для типа сообщения 0x207 (WM_MBUTTONDOWN) вызовите DefWndProc (ref m);
Для любого другого типа сообщения, вызовите base.WndProc (ref m);
Тогда ваше текстовое поле будет иметь среднюю кнопку прокрутки.
Обычно Windows.Forms переопределяет встроенную функцию средней кнопки текстового поля, поэтому элемент управления может иметь событие MouseDown для средней кнопки, но это также отключает встроенную функцию прокрутки. Вернитесь к вызову обработчика окна по умолчанию, и текстовое поле вернется к своей функции прокрутки.