C# 如何将图片居中对齐,同时将其大小模式指定为自动大小?
我在表格上有滚动面板,在面板上有图片盒。当我将SizeMode指定给CenterImage时,滚动不起作用,当指定给AutoSize时,图片不在中心C# 如何将图片居中对齐,同时将其大小模式指定为自动大小?,c#,winforms,panel,picturebox,C#,Winforms,Panel,Picturebox,我在表格上有滚动面板,在面板上有图片盒。当我将SizeMode指定给CenterImage时,滚动不起作用,当指定给AutoSize时,图片不在中心 有没有可能使两者都可以-能够滚动并将图片放在中间?您可以尝试使用这个简单的面板控件,它将满足您的两个要求: public class PanelImage : Panel { private Image image; public PanelImage() { this.DoubleBuffered = true; thi
有没有可能使两者都可以-能够滚动并将图片放在中间?您可以尝试使用这个简单的面板控件,它将满足您的两个要求:
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);
}
}
公共类PanelImage:Panel{
私有图像;
公众形象(){
this.DoubleBuffered=true;
this.ResizeRedraw=true;
}
公众形象{
获取{返回图像;}
集合{
形象=价值;
如果(图像!=null){
this.AutoScrollMinSize=image.Size;
}
这个。使无效();
}
}
受保护的覆盖无效OnPaint(PaintEventArgs e){
e、 图形。清晰(颜色。白色);
如果(图像!=null){
点p=此自动旋转位置;
if(image.Width
请发布任何代码,尝试jsfiddle.net