我在表单上有滚动面板和面板上的图片框。当我将 SizeMode 分配给 CenterImage 时,滚动不起作用,当分配给 AutoSize 时,图片不在中心。
是否有可能同时制作 - 能够滚动和图片放置在中心?
我在表单上有滚动面板和面板上的图片框。当我将 SizeMode 分配给 CenterImage 时,滚动不起作用,当分配给 AutoSize 时,图片不在中心。
是否有可能同时制作 - 能够滚动和图片放置在中心?
您可以尝试使用这个简单的面板控件来处理您的两个要求:
public class PanelImage : Panel {
private Image image;
public PanelImage() {
this.DoubleBuffered = true;
this.ResizeRedraw = true;
}
public Image Image {
get { return image; }
set {
image = value;
if (image != null) {
this.AutoScrollMinSize = image.Size;
}
this.Invalidate();
}
}
protected override void OnPaint(PaintEventArgs e) {
e.Graphics.Clear(Color.White);
if (image != null) {
Point p = this.AutoScrollPosition;
if (image.Width < this.ClientSize.Width) {
p.X = (this.ClientSize.Width / 2) - (image.Width / 2);
}
if (image.Height < this.ClientSize.Height) {
p.Y = (this.ClientSize.Height / 2) - (image.Height / 2);
}
e.Graphics.DrawImage(image, p);
}
base.OnPaint(e);
}
}