暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

C# ImageList 控件

DotNet工控上位机编程 2021-10-20
1207


        ImageList控件(存储图像控件)用于存储图像资源,然后在控件上显示出来,这样就简化了对图像的管理。ImageList 控件的主要属性是 Images,它包含关联控件将要使用的图片。每个单独的图像可通过其索引值或其键值来访问。所有图像都将以同样的大小显示,该大小由ImageSize属性设置,较大的图像将缩小至适当的尺寸,如图 1 所示为 ImageList 控件。



图1   ImageList控件

      ImageList 控件实际上就相当于一个图片集,也就是将多个图片存储到图片集中,当想要对某一图片进行操作时,只需根据其图片的编号,就可以找出该图片,并对其进行操作。



01


在 lmageList 控件中添加图像


      使用 ImageList 控件的 Images 属性的Add方法,可以以编程的方式向 lmageList 控件中添加图像,下面对 Add 方法进行详细介绍。

       Add 方法的功能是将指定图像添加到 ImageList中。

语法如下:

public void Add(lmage value)


value:要添加到列表中的图像。

【例 2】 创建一个 Windows 应用程序,首先获取图像的路径,然后通过ImageList控件的Images属性的 Add 方法向控件中添加图像。

代码如下:

private void Form1_Load(object sender,EventArgs e)
{
//设置要加载的第一张图片的路径
string Path = Application.StartupPath.Substring(0,Application.StartupPath.Substring(0,Application.
StartupPath. LastIndexOf("\\")).LastIndexOf("\\"));
Path += @"\01.jpg";
//设置要加载的第二张图片的路径
string Path2 = Application.StartupPath.Substring(0,Application.StartupPath.Substring(0,Application.
StartupPath.LastIndexOf("\\")).LastIndexOf("\\"));
Path2 += @"\02.jpg";
Image Mimg=Image.FromFile(Path,true);  //创建一个 Image 对象 
imageList1.Images.Add(Mimg);      //使用 Images 属性的 Add 方法向控件中添加图像
Image Mimg2=Image.FromFile(Path2,true);    //创建一个 Image 对象
imageList1.Images.Add(Mimg2);             //使用 Images 属性的 Add 方法向控件中添加图像
imageList1.ImageSize = new Size(200,165);  //设置显示图片的大小
pictureBox1.Width = 200;                 //设置 pictureBox1 控件的宽
pictureBox1.Height=165;                  //设置 pictureBox1控件的高
}
private void button1_Click(object sender,EventArgs e)
{
//设置pictureBox1 的图像索引是imageList1、控件索引为0的图片 
pictureBox1.Image = imageList1.Imagesl[0];
}
private void button2_Click(object sender,EventArgs e)
{
//设置 pictureBox1 的图像索引是imageList1、控件索引为1的图片
pictureBox1.Image=imageList1.Images[1];
}


程序的运行结果如图 2 所示.



图2   显示添加后的图像


说明 在向 ImageList 组件中存储图片时,可以通过该组件的 ImageSize 属性设置图片的尺寸,其默认尺寸是16x16,最大尺寸是256X256。



02



在 ImageList 控件中移除图像 


       在 ImageList 控件中可以使用 RemoveAt 方法移除单个图像或使用 Clear 方法清除图像列表中的所有图像。下面详细介绍 RemoveAt方法和 Clear 方法。

       RemoveAt 方法用于从列表中移除图像。

语法如下:


public void RemoveAt(int index)

index: 要移除的图像的索引。 


说明 在用 RemoveAt方法删除图片时,如果索引无效(超出范围),则发生运行异常。

Clear方法主要用于从 ImageList 中移除所有图像。

语法如下:

public void Clear()

【例 3】创建一个 Windows 应用程序,设置在控件上显示的图像,使用 Images 属性的 Add方法将其添加到控件中。然后运行程序,单击“加载图像”按钮显示图像,再单击“移除图像”按钮移除图像之后,重新单击“加载图像”按钮,将弹出“没有图像”的提示。

代码如下:

private void Form1_Load(object sender,EventArgs e)
{
pictureBox1.Width=200;     //设置 pictureBox1控件的宽 
pictureBox1.Height=165;   //设置 pictureBox1控件的高 
//设置要加载图片的路径
string Path = Application.StartupPath.Substring(0,Application.StartupPath.Substring(0,Application.
StartupPath.LastIndexOf("\\")).LastIndexOf("\\"));
Path +=@"\01.jpg";
Image img = Image.FromFile(Path,true);  //创建 Image 对象 
imageList1.Images.Add(img);   //使用 Images 属性的 Add 方法向控件中添加图像 
imageList1.ImageSize = new Size(200,165);    //设置显示图片的大小

private void button1_Click(object sender,EventArgs e)
{
if(ImageList1.Images.Count ==0)  //判断imageList1 中是否存在图像

MessageBox.Show("没有图像");       //如果没有图像弹出提示 
}
else //否则
{
//使 pictureBox1控件显示imageList1 控件中索引为0的图像
pictureBox1.Image = imageList1.Images[0];
}
}
private void button2_Click(object sender, EventArgs e)
{
imageList1.Images.RemoveAt(0);    //使用 RemoveAt方法移除图像
}


程序的运行结果如图 3 所示。



图3   移除控件中的图像


还可以使用Clear方法从ImageList中移除所有图像。

代码如下:

imageList1.Images.Clear();             //使用Clear方法移除所有图像





文章转载自DotNet工控上位机编程,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论