2014-02-22 90 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;