我將Windows窗體的BackgroundImage
設置爲200 x 200圖像。該表單爲500 x 500.我希望圖像可以錨定在表單的右下角。不過,唯一可用的選項是BackgroundImageLayout
屬性 - 將其設置爲「無」會導致圖像錨定在左上角。我該如何改變這一點?Windows窗體中BackgroundImage的位置形式
注:我使用.NET 2.0
我將Windows窗體的BackgroundImage
設置爲200 x 200圖像。該表單爲500 x 500.我希望圖像可以錨定在表單的右下角。不過,唯一可用的選項是BackgroundImageLayout
屬性 - 將其設置爲「無」會導致圖像錨定在左上角。我該如何改變這一點?Windows窗體中BackgroundImage的位置形式
注:我使用.NET 2.0
只需在OnPaintBackground()方法中自己繪製它即可。將圖像添加到資源(我稱之爲BkgImage),並使表單代碼如下所示:
public Form1() {
InitializeComponent();
backgroundImage = Properties.Resources.BkgImage;
this.DoubleBuffered = true;
this.SetStyle(ControlStyles.ResizeRedraw, true);
}
private Image backgroundImage;
protected override void OnPaintBackground(PaintEventArgs e) {
base.OnPaintBackground(e);
var rc = new Rectangle(this.ClientSize.Width - backgroundImage.Width,
this.ClientSize.Height - backgroundImage.Height,
backgroundImage.Width, backgroundImage.Height);
e.Graphics.DrawImage(backgroundImage, rc);
}
你不能這樣做,與BackgroundImageLayout。
但是,你可以做的是添加一個PictureBox,將其錨定到右下角並將其設置爲最低的z值。這將導致幾乎所需的效果。
會導致背景圖像?即像按鈕之類的其他控件是否出現在圖片框的「頂部」? – 2010-09-14 09:50:04
是的。 [15個字符] – 2010-09-14 17:04:45
WinForms中沒有該選項。 MSDN上的[ImageLayout Enumeration](http://msdn.microsoft.com/zh-cn/library/system.windows.forms.imagelayout.aspx)。 – ChrisF 2010-09-14 09:26:14