ListView 控件与 ImageList 控件
1.在窗体中拖入ListView控件和imageList控件;
2.设置imageList的大小
3.把ListView SmallImageList t 、LargeImageList、StateImageList属性为imageList;
private void button1_Click(object sender, EventArgs e)
{
imageList1.Images.Clear();
listView1.Items.Clear();
imageLists.Clear();
string ext = "";
foreach (FileInfo d in dir.GetFiles())
{
ext = System.IO.Path.GetExtension(textBox2.Text.Trim() + d.Name);
if (ext == ".jpg" || ext == ".jpeg") //在此只显示Jpg
{
imageLists.Add(textBox2.Text.Trim() + "\\" + d.Name);
}
}
for (int i = 0; i < imageLists.Count; i++)
{
imageList1.Images.Add(System.Drawing.Image.FromFile(imageLists[i].ToString()));
listView1.Items.Add(System.IO.Path.GetFileName(imageLists[i].ToString()), i);
listView1.Items[i].ImageIndex = i;
listView1.Items[i].Name = imageLists[i].ToString();
}
}
在单个 imageLists.加上字
ListViewItem item = new ListViewItem();
Index = i;
item.Text = "Q";
item.ImageIndex = Index;
listView1.Items.Add(item);
如果改文件名
imageList1.Images.Add(System.Drawing.Image.FromFile(imageLists[i].ToString()));
listView1.Items.Add(XX文件名, i);
可以在多个事件调用一个事件名称
在datagriew选择在Imglist画图用 Graphics g = Graphics.FromImage(img);
Pen pen = new Pen(Color.WhiteSmoke, 10);
private void dataGridViewExsSpot2_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0) return;
var curRow = ((DataGridViewExs)sender).CurrentRow;
if (curRow == null)
{
return;
}
int taskID = 0;
if (int.TryParse(curRow.Cells[3].Value.ToString(), out taskID))
{
foreach (var idx in LastID)
{
var img = imageList1.Images[idx];
Graphics g = Graphics.FromImage(img);
Pen pen = new Pen(Color.WhiteSmoke, 10);
g.DrawRectangle(pen, 0, 0, img.Width, img.Height);
imageList1.Images[idx] = img;
}
LastID.Clear();
for (int idx = 0; idx < ImgID.Count; idx++)
{
if (ImgID[idx] == taskID)
{
var img = imageList1.Images[idx];
Graphics g = Graphics.FromImage(img);
Pen pen = new Pen(Color.Red, 10);
g.DrawRectangle(pen, 0, 0, img.Width, img.Height);
imageList1.Images[idx] = img;
LastID.Add(idx);
}
}
listView1.Refresh();
}
}