0
我在面板上的滾動和圖片框的窗體上有面板。當我將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);
}
}
請發表任何代碼,嘗試jsfiddle.net – DontVoteMeDown