我有一个面板,可以说这个面板的高度是 500 像素。该面板内部是一个多行文本框,它比面板大 - 假设高度为 1000 像素。
面板设置为出现滚动条,并且可以通过鼠标滚轮和拖动滚动条进行滚动。但是,当在文本框中选择文本(突出显示)然后将选择拖到显示的文本之外时,它不会滚动,但我想要它。就像您在浏览器中选择超出可见范围的文本时一样。
可能值得注意的是,我的面板是自定义的,虽然不多,但我只是添加了以下代码来防止在文本框上设置焦点时出现问题,这会导致它滚动到底部:
class PanelNoScrollOnFocus : Panel
{
protected override System.Drawing.Point ScrollToControl(Control activeControl)
{
return DisplayRectangle.Location;
}
}
我从这里得到了这段代码,所以如果需要的话,你可以看到更多关于我为什么使用它的信息。