ImageList组件
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 = "用户"; } } }