【问题标题】:PictureBox.BackgroundImageLayout change failsPictureBox.BackgroundImageLayout 更改失败
【发布时间】:2014-03-24 10:43:27
【问题描述】:

我正在使用 Visual Studio 2010 并用 c# 编写一个简单的项目。我有一个图片框和两个按钮。按下一个按钮时,图片框中的图像会更改,但我无法更改背景图像布局属性。在按钮回调中是这样的:

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

图像已更改,但未在图片框上拉伸。实际上,只显示了适合图片框的部分图像。

有什么建议吗?

更新

这是我的错。按钮回调中的调用实际上是:

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

而不是上面的语句。

【问题讨论】:

  • 尝试拨打pictureBox1.Refresh();

标签: c# visual-studio-2010 layout picturebox


【解决方案1】:
private void button1_Click(object sender, EventArgs e)
{
    pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
    pictureBox1.Image = Image.FromFile("D:/elefent.jpg");      
}

使用时pictureBox布局发生了变化:

pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;

【讨论】:

    【解决方案2】:

    如果您想放大图像并使其适合控件的客户矩形,请将BackgroundImageLayout 设置为ImageLayout.Zoom

    pictureBox1.BackgroundImageLayout = ImageLayout.Zoom;
    

    你也可以试试SizeMode属性

    pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
    

    【讨论】:

    • 感谢您的简短回复。但是,无论我选择什么 ImageLayout,都没有任何改变。图片实际上比图片框大很多,所以我只看到了一部分。拉伸应该是正确的布局。
    • @user2546901 - 查看我的编辑。我强调缩放,因为它会保持大小比例
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-18
    • 1970-01-01
    • 1970-01-01
    • 2015-11-23
    • 2019-07-28
    • 2017-09-22
    • 2021-11-20
    相关资源
    最近更新 更多