我的自定义用户控件中有一个列表。我希望控件在列表的内容发生更改时重绘列表中的每个图像。项目的移动、添加或删除都应触发一个事件。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WebServiceScanner
{
public partial class imageList : UserControl
{
public imageList()
{
InitializeComponent();
}
public List<Image> Images { get; set; }
public void AddImage(Image image)
{
Images.Add(image);
}
public void RemoveImage(Image image)
{
Images.Remove(image);
}
public void MoveImageLeft(int index)
{
Image tmpImage = Images[index];
Images[index] = Images[index - 1];
Images[index - 1] = tmpImage;
}
public void MoveImageLeft(int index)
{
Image tmpImage = Images[index];
Images[index] = Images[index + 1];
Images[index + 1] = tmpImage;
}
}
}
这可以做到吗?
感谢您的指导!渴望学习!
最佳答案
您可以使用 ObservableCollection<T>
而不是 List<T>
并处理它的 CollectionChanged事件。
关于c# - 我可以在 C# 中创建这种类型的事件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4289265/