我刚刚开始学习 C# 和 Visual Studio,试图同时在书籍和示例代码上工作。
我知道这不是一个非常聪明的问题,但这是我要解决的问题。我有一个 Windows 窗体,我需要在 tableLayoutPanel 中包含的图片框中显示图像。一个简单的问题是我必须加载的图像可能有多种尺寸,并且典型的图像没有完全显示在分配的空间内:只显示适合容器的区域,图像的其余部分被切断。我必须完整地显示图像,我不必调整它的大小。我已经设置了 autosize 属性,但这似乎不起作用。
这是form.cs中的一些代码
string imageName = openFileDialog1.FileName; // Get the image name
// Read the image
try
{
img = ( Bitmap) Image .FromFile(imageName);
}
catch
{
MessageBox.Show("oooops" , Text, MessageBoxButtons.OK, MessageBoxIcon .Hand);
}
pictureBox1.Image = img; // show the image
然后在form.designer.cs中找到的private void InitializeComponent()中:
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
...
this.pictureBox1 = new System.Windows.Forms.PictureBox();
...
this.tableLayoutPanel1.Controls.Add(this.pictureBox1, 1, 1);
...
this.tableLayoutPanel1.Controls.Add(this.pictureBox1, 1, 1);
...
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 9.034863F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 2.388038F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 88.5771F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(784, 762);
...
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
您对如何显示整个图像有任何提示吗?
即使使用滑动条也可以,但是尽管容器具有 autoscroll = true 的事实,但没有任何反应并且图像仍然被截断。
谢谢你的帮助