【发布时间】:2011-02-06 04:12:45
【问题描述】:
我的应用程序需要控制显示位图 (jpg),还需要缩放和平移它们(因此,如果您按下鼠标按钮,您可以在框架内“移动”缩放的图片)
我所做的是将面板放在窗体上,然后在面板内放置图片框(锚定顶部,左侧)。
所以如果我需要缩放它,我只是从缩放按钮事件中执行下面的代码:
private void ZommInOut(bool zoom) {
int zoomRatio = 10; // percent
int widthZoom = pBox.Width * zoomRatio /100;
int heightZoom = pBox.Height * zoomRatio /100;
if (zoom) {
widthZoom *= -1;
heightZoom *= -1;
}
pBox.Width += widthZoom;
pBox.Height += heightZoom;
}
效果不错。图像被缩放,面板显示滚动条 - 所以我有简单的平移功能。
我缺少的是可以使用鼠标进行平移 - 我想向任何方向拖动图片以查看图片的其他部分(例如 Acrobat Reader)。
我一直在寻找使用 MouseMove 事件并以编程方式更改滚动条的方法,但我无法做到。
有什么建议吗?
【问题讨论】:
标签: c# winforms .net-3.5 bitmap picturebox