2014-02-22 66 views
0

我正在使用Visual Studio 2010並在c#中編寫一個簡單的項目。我有一個圖片框和兩個按鈕。當按下一個按鈕時,圖片框中的圖像會發生變化,但我無法更改背景圖片佈局屬性。在按鈕回調是這樣的:PictureBox.BackgroundImageLayout更改失敗

pictureBox1.BackgroundImage = Image.FromFile("test.jpg"); 
pictureBox1.BackgroundImageLayout = ImageLayout.Stretch; 

圖像被改變,但它沒有延伸到圖片框。實際上,只顯示了適合圖片框的圖像的一部分。

有什麼建議嗎?

UPDATE

這是我的錯誤。在按鈕回調調用竟是:

pictureBox1.Image = Image.FromFile("test.jpg");
pictureBox1.BackgroundImageLayout = ImageLayout.Stretch;

,而不是上發言。

+0

嘗試調用'pictureBox1.Refresh();' –

回答

0

如果要放大和控制的客戶端矩形中適合圖像,設置BackgroundImageLayoutImageLayout.Zoom

pictureBox1.BackgroundImageLayout = ImageLayout.Zoom; 

您也可以嘗試SizeMode財產

pictureBox1.SizeMode = PictureBoxSizeMode.Zoom; 
+0

謝謝您的簡短回覆。但是,無論我選擇什麼ImageLayout,都不會改變。圖像實際上比圖片框大得多,所以我只看到它的一部分。拉伸應該是適當的佈局。 – user2546901

+0

@ user2546901 - 請參閱我的編輯。我強調縮放,因爲它會保持尺寸比例 – Junaith

0
private void button1_Click(object sender, EventArgs e) 
{ 
    pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage; 
    pictureBox1.Image = Image.FromFile("D:/elefent.jpg");  
} 

PictureBox的佈局當我使用時發生了變化:

pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;