logo search
CSharp_Graphics

Извлечение связанного с файлом значка в Windows Forms

У многих файлов имеются внедренные значки, которые служат для визуального представления соответствующего типа файла. Например, документы Microsoft Word содержат значок, который указывает на то, что эти файлы являются документами Word. При отображении файлов в таких элементах управления, как список или таблица, может потребоваться поместить рядом с именем файла значок, обозначающий тип этого файла. Для этого достаточно вызвать метод ExtractAssociatedIcon.

Пример

В следующем примере показано, как извлечь связанный с файлом значок и вывести его на экран рядом именем файла в элементе управления ListView.

-------------------

// For each file in the c:\ directory, create a ListViewItem

// and set the icon to the icon extracted from the file.

foreach (FileInfo file in dir.GetFiles())

{

// Set a default icon for the file.

Icon iconForFile = SystemIcons.WinLogo;

item = new ListViewItem(file.Name, 1);

iconForFile = Icon.ExtractAssociatedIcon(file.FullName);

// Check to see if the image collection contains an image

// for this extension, using the extension as a key.

if (!imageList1.Images.ContainsKey(file.Extension))

{

// If not, add the image to the image list.

iconForFile = System.Drawing.Icon.ExtractAssociatedIcon(file.FullName);

imageList1.Images.Add(file.Extension, iconForFile);

}

item.ImageKey = file.Extension;

listView1.Items.Add(item);

}

listView1.EndUpdate();

}

Compiling the Code

To compile the example:

You will need to make sure that your form imports the System.IO namespace.

-------