c  图像呈现控件PictureBox

C#语言中PictureBox是常见的图像呈现控件,可以用于显示图片、动画等。在WinForm开发中,PictureBox是一个非常常用的控件。

一、PictureBox的使用方法

1. 在Visual Studio中创建一个WinForm窗体应用程序,从工具箱中拖拽PictureBox控件到窗体上。

2. 设置PictureBox的属性,包括大小、位置、BorderStyle、SizeMode等等。

3. 在代码中访问PictureBox控件,可以通过名称或者索引访问:

``` C#

//通过名称访问

this.pictureBox1.Image = Image.FromFile(@"C:\test.jpg");

//通过索引访问

var pictureBox = this.Controls.Find("pictureBox1", true).FirstOrDefault() as PictureBox;

pictureBox.Image = Image.FromFile(@"C:\test.jpg");

```

4. 加载图片。可以从文件中读取图片显示在PictureBox控件中,也可以在代码中创建图片对象来显示。

从文件中读取:

``` C#

private void LoadPictureFromFile(string filepath)

{

if (File.Exists(filepath))

{

this.pictureBox1.Image = Image.FromFile(filepath);

}

}

```

在代码中创建:

``` C#

private void LoadPictureFromCode()

{

Bitmap bmp = new Bitmap(this.pictureBox1.Width, this.pictureBox1.Height);

using (Graphics g = Graphics.FromImage(bmp))

{

g.Clear(Color.White);

g.DrawLine(Pens.Black, 0, 0, this.pictureBox1.Width, this.pictureBox1.Height);

g.DrawLine(Pens.Black, 0, this.pictureBox1.Height, this.pictureBox1.Width, 0);

}

this.pictureBox1.Image = bmp;

}

```

5. 支持拖拽。支持图片通过拖拽方式改变图片:

``` C#

private void pictureBox1_DragDrop(object sender, DragEventArgs e)

{

//获取拖拽过来的文件列表

var files = (string[])e.Data.GetData(DataFormats.FileDrop);

if (files.Length > 0)

{

var file = files[0];

if (File.Exists(file))

{

this.pictureBox1.Image = Image.FromFile(file);

}

}

}

private void pictureBox1_DragEnter(object sender, DragEventArgs e)

{

//判断是否是文件拖拽

if (e.Data.GetDataPresent(DataFormats.FileDrop))

{

e.Effect = DragDropEffects.Copy;

}

}

```

二、PictureBox的常用属性

1. Image:PictureBox显示的图片。

2. SizeMode:图片的呈现方式。有以下几种取值:

- Normal:正常显示,图片会按照指定大小完全呈现;

- StretchImage:拉伸显示,图片会按比例拉伸呈现;

- AutoSize:根据图片大小自动调整PictureBox控件大小;

- CenterImage:居中显示,图片会按照指定大小完全呈现,并居中显示。

3. BorderStyle:PictureBox的边框样式。有以下几种取值:

- None:无边框;

- FixedSingle:单线边框;

- Fixed3D:三维边框。

4. BackColor:PictureBox的背景色。

5. ImageLocation:图片的路径。

三、PictureBox的案例说明

以下是一个例子,用一个按钮点击事件实现加载图片和清空图片操作:

``` C#

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void btnLoad_Click(object sender, EventArgs e)

{

using (var dlg = new OpenFileDialog())

{

dlg.Filter = "Image files (*.jpg, *.jpeg, *.png)|*.jpg;*.jpeg;*.png";

if (dlg.ShowDialog() == DialogResult.OK)

{

this.LoadPictureFromFile(dlg.FileName);

}

}

}

private void btnClear_Click(object sender, EventArgs e)

{

this.pictureBox1.Image = null;

}

private void LoadPictureFromFile(string filepath)

{

if (File.Exists(filepath))

{

try

{

this.pictureBox1.Load(filepath);

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

}

}

}

```

通过LoadPictureFromFile方法加载图片,同时通过btnClear_Click清空图片。

总结:

以上是关于C#中PictureBox控件的详细介绍,主要包括:

1. PictureBox的使用方法;

2. PictureBox的常用属性;

3. PictureBox的案例说明。

作为WinForm开发中非常常用的控件,PictureBox具有广泛的应用场景,特别是在软件的图形处理和展示方面。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/

点赞(84) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部