У меня есть панель, она говорит, что эта панель имеет высоту 500 пикселей. Внутри этой панели многострочный текстовый блок, который больше, чем панель, - предположим, что высота составляет 1000 пикселей.Как прокручивать панель при выборе текста?
Панель установлена так, что появляется полоса прокрутки, и она прокручивается с помощью колеса мыши и перетаскивая полосу прокрутки. Однако при выборе текста в текстовом поле (выделение), а затем перетаскивания выделения за пределы отображаемого текста он не прокручивается, но я хочу его. Как и при выборе текста в браузере выше видимого.
Это, вероятно, стоит отметить, что моя панель настроена, хотя не так много, я просто добавил следующий код, чтобы предотвратить проблемы с установкой фокуса на текстовом поле, которое заставляет его перейти к нижней:
class PanelNoScrollOnFocus : Panel
{
protected override System.Drawing.Point ScrollToControl(Control activeControl)
{
return DisplayRectangle.Location;
}
}
Я получил этот код from here, так что вы можете увидеть больше информации о том, почему я использую его, если нужно.
Это потому, что движение мыши находится в 'textbox' не ваш' panel', вы можете просто использовать 'scrollbar' в' textbox'? – Bolu
@Bolu: Конечно, я могу использовать его, но это не очень ожидаемое поведение. Пока я могу жить с этим. Основная причина для этого - улучшить поддержку при копировании текста. Не торопитесь, я могу немного засушить этот вопрос и посмотреть, не вернется ли что-нибудь. – musefan