partial class Form1
{
//hidden
private void InitializeComponent()
{
this.picture = new System.Windows.Forms.PictureBox();
//hidden
this.picture.Size = new System.Drawing.Size(1, 1);
//hidden
}
#endregion
private System.Windows.Forms.PictureBox picture;
private System.Windows.Forms.Button btnLoad;
private System.Windows.Forms.OpenFileDialog dgOpenFile;
private System.Windows.Forms.Panel panel1;
}
---
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void btnLoad_Click(object sender, EventArgs e)
{
if (dgOpenFile.ShowDialog() == DialogResult.OK)
{
Bitmap img = new Bitmap(dgOpenFile.FileName);
picture.Width = img.Width;
picture.Height = img.Height;
picture.Image = img;
}
}
}
为什么PictureBox
的大小保持不变(1,1)并且不会更改为图像的大小?
答案 0 :(得分:3)
尝试以下方法。我正在使用此代码,它对我有用。我不确定与你的有什么不同(可能首先设置图像然后再设置尺寸),但它确实有效。如果它不起作用,请检查@dzendras解决方案,也许您已经配置了不同的东西。
Bitmap img = new Bitmap(dgOpenFile.FileName);
picture.Image = img;
picture.Size = picture.Image.Size;
答案 1 :(得分:1)
您是否将pictureBox1.MaximumSize设置为{0; 0}以外的任何其他值? 例如,当它被设置为{1; 1}时,即使你故意设置了它的大小(比如在处理程序中),它也不会比这更大。
希望这有帮助。
答案 2 :(得分:-1)
更改picturebox控件的属性窗口。 点击图片框。 设置大小字段。