ImageList组件只有属性,没有事件
常用属性:Images,ImageSize
Images的方法:
Add(Image/Icon)
Add(string,Image/Icon)
Contains(Image/Icon)
IndexOf(Image/Icon)
Remove(Image/Icon)
RemoveAt(int)
RemoveByKey(string)
SetKeyName(int,string)
知识点1:
imageList的使用:
Button,Label等控件上显示图片时,可以使用Image属性也可以使用ImageList属性
区别:
使用Image属性时,不能调整图片的大小
使用ImageList属性,可以通过ImageList中的ImageSize设置图片的大小。
具体使用方法,先设置控件的ImageList属性,再通过ImageKey(图片名称)或ImageIndex(图片索引)选择图片。
知识点2:
实现图片的动态加载,如下:
通过按钮在lable上显示图片
using System;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Windows.Forms;
namespace ControlsTest
{
public partial class FormImageList : Form
{
public FormImageList()
{
InitializeComponent();
this.Load += FormImageList_Load;
}
private void FormImageList_Load(object sender, EventArgs e)
{
string path = "Resources";
if (Directory.Exists(path))
{
string[] files = Directory.GetFiles(path);
if (files.Length > 0)
{
string[] fileTypes = { ".jpg", ".png", ".icon" };
foreach (var file in files)//获得相对路径Resources下的所有文件
{
if (fileTypes.Contains(Path.GetExtension(file)))//如果文件的后缀在fileTypes范围
{
Image image = Image.FromFile(file);
//第一种添加方法
//imageList1.Images.Add(image);
//第二种添加方法
string imageName = Path.GetFileNameWithoutExtension(file);//获取图片名称
imageList1.Images.Add(imageName, image);
}
}
}
}
imageList1.ImageSize = new Size(50, 50);
label1.ImageList = imageList1;
label2.ImageList = imageList1;
}
private void button2_Click(object sender, EventArgs e)
{
//第一种方法,使用索引添加图片
label1.ImageIndex = 0;
}
private void button3_Click(object sender, EventArgs e)
{
//第二种方法,使用图片名称添加图片
label2.ImageKey = "用户";
}
}
}