【发布时间】:2014-02-13 20:08:58
【问题描述】:
我正在制作一个程序,其中表单本身是用户使用鼠标事件绘制线条的容器。如果/当用户绘制一条线(鼠标向下)并拖出表单的边界时,我希望表单向表单添加滚动条(垂直和水平)。类似于使用 MS Excel 并从单元格 A1 拖动到 A## 或任何方向。
用户绘制的每一行都是一个对象。绘制完每个对象后,我都有一个返回每个对象边界的函数:Return New Rectangle(Min(Pt1.X,Pt2.X), Min(Pt1.Y, Pt2.Y), Abs(Pt2.X-Pt1.X), Abs(Pt2.Y-Pt1.y))。此外,我将表单上的 AutoScroll 属性设置为 TRUE。该表单是一个 MDI Child,如果这与它有关的话。
线条完美地绘制在表单上,但我无法让表单添加上面提到的滚动条。我不知道我应该调查什么,调整事件大小?属性变化?非常感谢您的指导。
【问题讨论】:
-
您必须提供帮助,它只会自动保持控件可见,而不是像素。您必须将表单的 AutoScroll 属性设置为 True 并将 AutoScrollMinSize 属性分配给足够大的值以保持行可见。
-
谢谢汉斯!我相信你是对的。即使设置了自动滚动属性,表单也需要知道有一个新对象需要说明。我想我找到了另一个类似的帖子来回答我的问题。再次感谢!
标签: vb.net drawing scrollbar drag autoscroll