自动滚动所有边

发布于 2024-12-08 09:41:52 字数 178 浏览 0 评论 0原文

我有一个自动滚动设置为 true 的面板。在此面板中,我有一个代表绘图画布的图形控件。放大画布意味着图形控件的尺寸会增加,并最终超过包含的控件。

我的问题是,将物体移动到负坐标时没有自动滚动。我想让我的图形控件在所有侧面都增长并保持其中心在视图中,并获得允许向左/向右和向上/向下滚动的滚动条。据我所知,我只会向下和向右滚动。

I have a panel with autoscroll set to true. In this panel I have a graphical control representing a drawing canvas. Zooming in to the canvas means that the graphical control increases in size and eventually exceeding the containng control.

My problem is that there is no autoscroll when moving things to negative coordinates. I would like to have my graphical control to grow on all sides and keep its center in view and get scrollbars that allow scrolling both left/right and up/down. As far as I can see I will only get scrolling down and right.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

诗酒趁年少 2024-12-15 09:41:52

您只需相应地调整面板的 AutoScrollPosition 即可。

要将位置设置为图形控件的中间(无论是什么),请在面板上尝试以下操作:

panel1.AutoScroll = false;
panel1.AutoScrollMinSize = pictureBox1.Size;
panel1.AutoScrollPosition = new Point((panel1.AutoScrollMinSize.Width - panel1.HorizontalScroll.LargeChange) / 2,
                                      (panel1.AutoScrollMinSize.Height - panel1.VerticalScroll.LargeChange) / 2);

You just have to adjust the panel's AutoScrollPosition accordingly.

To set the position to the middle of your graphical control (whatever that is), try this on your panel:

panel1.AutoScroll = false;
panel1.AutoScrollMinSize = pictureBox1.Size;
panel1.AutoScrollPosition = new Point((panel1.AutoScrollMinSize.Width - panel1.HorizontalScroll.LargeChange) / 2,
                                      (panel1.AutoScrollMinSize.Height - panel1.VerticalScroll.LargeChange) / 2);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文