Я потратил много времени, пытаясь реализовать предварительный просмотр изображений в виде списка. Лучшее, чего я могу достичь, — это одно и то же изображение, повторяемое для каждого элемента в списке, поскольку приведенный ниже код просто добавит первое изображение из метода listviewimages(). Я попробовал использовать индекс и получил сообщение об ошибке, например, невозможно добавить элемент дважды, удалить первый экземпляр. Будем признательны за любые подсказки.
private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
ImageList imageList1 = new ImageList();
imageList1.ImageSize = new Size(32, 32);
listView_Families.LargeImageList = listViewImages();
TreeNode newSelected = e.Node;
listView_Families.Items.Clear();
DirectoryInfo nodeDirInfo = (DirectoryInfo)newSelected.Tag;
ListViewItem.ListViewSubItem[] subItems;
ListViewItem item = null;
//If selected is a directory show the following
foreach (DirectoryInfo dir in nodeDirInfo.GetDirectories())
{
item = new ListViewItem(dir.Name, 0);
subItems = new ListViewItem.ListViewSubItem[]
{
new ListViewItem.ListViewSubItem(item, "Directory"),
new ListViewItem.ListViewSubItem(item,
dir.LastWriteTime.ToShortTimeString())
};
item.SubItems.AddRange(subItems);
listView_Families.Items.Add(item);
}
//If selected is a File show the following
foreach (FileInfo file in nodeDirInfo.GetFiles())
{
string fileFullName = file.FullName;
item = new ListViewItem(file.Name, 1);
subItems = new ListViewItem.ListViewSubItem[]
{
new ListViewItem.ListViewSubItem(item, file.FullName),
new ListViewItem.ListViewSubItem(item, file.Length.ToString())
};
item.SubItems.AddRange(subItems);
//add items to list view
listView_Families.Items.Add(item);
}//end loop
listView_Families.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
}
Подробнее здесь: https://stackoverflow.com/questions/306 ... a-listview
Показывать изображения, добавленные как элементы, при использовании подэлементов, добавленных как узлы дерева в просмотр ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение