C# PictureBox图片框用法详解(附带实例)
PictureBox 可以翻译为图片框,图标为:
这个控件可以创建图片框。单击此控件后,将鼠标光标移到窗体区可以看到 PictureBox 图标,可以拖曳此图标创建不同大小的图片框,图片框的默认名称 (Name) 是 pictureBox1。
窗口设计时使用 PictureBox 控件可以让界面更精彩,我们可以在创建窗体阶段加载图像,也可以在程序设计阶段加载图像,甚至还可以使用 PictureBox 设计动态图像。
目前 PictureBox 图片框可以接受位图 (.bmp)、中继文件 (.wmf)、图标 (.ico)、JPEG 图片 (.jpg 或 .jpeg)、PNG图片 (.png)、GIF文件 (.gif) 等。
此外,PictureBox 也有提供 Left 和 Top,所以上述程序也可以使用下列语句表示:
注意,读者阅读至此应该已经熟悉了控件标题 (Text)、名称 (Name)、位置 (Location) 与大小 (Size),所以不再赘述,读者可以将程序加载在 Visual Studio 中进行查阅。
上述程序第 11 行设定 SizeMode 为 Normal,第 12 行设定图片框外框为 Fixed3D,第 13 行显示图片 sse.gif,这个图片没有设定路径,所以必须与可执行文件 ch.exe 放在相同路径。其他方法则是依据功能按钮,然后设定图片在图片框显示的方法。

这个控件可以创建图片框。单击此控件后,将鼠标光标移到窗体区可以看到 PictureBox 图标,可以拖曳此图标创建不同大小的图片框,图片框的默认名称 (Name) 是 pictureBox1。
窗口设计时使用 PictureBox 控件可以让界面更精彩,我们可以在创建窗体阶段加载图像,也可以在程序设计阶段加载图像,甚至还可以使用 PictureBox 设计动态图像。
目前 PictureBox 图片框可以接受位图 (.bmp)、中继文件 (.wmf)、图标 (.ico)、JPEG 图片 (.jpg 或 .jpeg)、PNG图片 (.png)、GIF文件 (.gif) 等。
C# PictureBox常用属性
PictureBox 的许多属性和窗体的相同,下面是其几个常用的属性:PictureBox属性名称 | 说明 |
---|---|
Image | 图像文件 |
SizeMode |
图像在图片框的显示方式,有 5 种显示方式:
|
Left 和 Top |
Top 表示图片框上边距离窗体上边的距离 Left 表示图片框左边距离窗体左边的距离。 |

C#程序设计图片框位置
读者应该很熟悉 Location 属性,在设计时我们可以使用 Location.X 和 Location.Y 代表水平 (X 轴) 和垂直 (Y轴) 的位置。也可以使用 Point 对象设定图片框坐标,如下所示:pictureBox1.Location.X = 20; pictureBox1.Location.Y = 10;上述可以用下列 Point 对象简化程序设计:
pictureBox1.Location = new Point(20, 10);
此外,PictureBox 也有提供 Left 和 Top,所以上述程序也可以使用下列语句表示:
pictureBox1.Left = 20; pictureBox1.Top = 10;
C#程序设计图像大小
当 SizeMode 属性设定为 AutoSize 时,就可以让图像和图片框大小相同。相信读者也熟悉了 Size 的设定,我们可以使用 Size.Width 和 Size.Height 属性设定图片框的大小如下所示:pictureBox1.Size.Width = 200; pictureBox1.Size.Height = 100;也可以使用 Size 对象设计,如下所示:
pictureBox1.Size = new Size(200, 100);
C#加载与删除图像
1) 加载图像
可以使用 Image 属性取得加载图像的对象:pictureBox1.Image = Image.FromFile(图像路径);或是:
pictureBox1.Image = new Bitmap(图像路径);注意,为了图片可移植性,建议将图片放在以后可执行文件相同的文件夹中,这也可以简化程序,只要写明图片名称即可。
2) 删除图像
pictureBox1.Image = null;
C#静态到动态图像实例
【实例】加载与删除图像的实例,这个程序同时可以设定 4 种 SizeMode。注意,读者阅读至此应该已经熟悉了控件标题 (Text)、名称 (Name)、位置 (Location) 与大小 (Size),所以不再赘述,读者可以将程序加载在 Visual Studio 中进行查阅。

public partial class Form1 : Form { public Form1() { InitializeComponent(); } // 加载图像按钮事件 private void btnLoad_Click(object sender, EventArgs e) { pictureBox1.SizeMode = PictureBoxSizeMode.Normal; pictureBox1.BorderStyle = BorderStyle.Fixed3D; // 图像外框 pictureBox1.Image = Image.FromFile("sse.gif"); // 图像文件 } // 删除图像按钮事件 private void btnDelete_Click(object sender, EventArgs e) { pictureBox1.Image = null; // 删除显示图像 } // Normal 显示模式按钮事件 private void btnNormal_Click(object sender, EventArgs e) { pictureBox1.SizeMode = PictureBoxSizeMode.Normal; // 显示模式 } // StretchImage 显示模式按钮事件 private void btnStretch_Click(object sender, EventArgs e) { pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage; // 显示模式 } // CenterImage 显示模式按钮事件 private void btnCenter_Click(object sender, EventArgs e) { pictureBox1.SizeMode = PictureBoxSizeMode.CenterImage; // 显示模式 } // Zoom 显示模式按钮事件 private void btnZoom_Click(object sender, EventArgs e) { pictureBox1.SizeMode = PictureBoxSizeMode.Zoom; // 显示模式 } }执行结果为:

上述程序第 11 行设定 SizeMode 为 Normal,第 12 行设定图片框外框为 Fixed3D,第 13 行显示图片 sse.gif,这个图片没有设定路径,所以必须与可执行文件 ch.exe 放在相同路径。其他方法则是依据功能按钮,然后设定图片在图片框显示的方法。