Member 13607190 Ответов: 2

Как получить значки дисков в системе и добавить эти значки в поле listview с соответствующими буквами дисков в vb.net-да.


Я пытаюсь создать программу, похожую на проводник файлов, поэтому я пишу код для отображения букв дисков с их значком диска в окне просмотра списка, но я не знаю, как поместить их значок в поле просмотра списка.
Я использую Microsoft visual basic 2010 express.

Что я уже пробовал:

Imports System
Imports System.IO

Public Class Test


    Private Sub Test_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim drives As String() = System.IO.Directory.GetLogicalDrives()
        For Each drive As String In drives
            ListView1.Items.Add(drive)
            'I need to add the icon of the drive
        Next

    End Sub
End Class

2 Ответов

Рейтинг:
1

Jochen Arndt

Существует только один идентичный значок для локальных дисков. Оно может Значки дисков можно получить с помощью Икона.Метод ExtractAssociatedIcon (String) (System.Рисование)[^] путем передачи строки диска без пути, например "C:".

Чтобы добавить значки в представление списка, необходимо создать ImageList, добавьте значки в этот список и установите соответствующий ключ, который был использован для добавления значка в список изображений при добавлении элемента представления списка. Пример C# можно найти по адресу Как извлечь значок, связанный с файлом в Windows Forms | Microsoft Docs[^] (старая версия с VB.Чистый код: Gewusst wie: Extrahieren eines mit einer Datei verknüpften символы в Windows Forms[^]; игнорируйте немецкое название, содержание-английское).


Member 13607190

"Существует только один идентичный значок для локальных дисков. "
Нет значок диска меняется для диска C

Jochen Arndt

Вы правы.
Существуют различные значки для различных типов оборудования (HDD, CD).

Рейтинг:
0

debasish mishra

Не просто скачивайте и копируйте вставленный код.Сначала запустите образец, проверьте выходные данные, затем отладьте и посмотрите, что происходит в исходном коде, а затем попробуйте реализовать аналогично с вашим подходом.

Реализация общего браузера файловой системы С помощью ListView[^]


Member 13607190

Я не знаю, как добавить изображение диска в список изображений. Именно об этом я и спрашиваю.

[no name]

Что??Вы можете скачать PNG-файлы дисков и добавить их в папку проекта.

Member 13607190

Я не хочу использовать свой png файл мне нужно получить точный значок системного диска

[no name]

Пожалуйста, проверьте link.https://stackoverflow.com/questions/12840268/how-to-get-the-drive-icons-as-used-in-windows-explorer

Member 13607190

Он находится в c#

[no name]

В .NET существует концепция, называемая языковой интероперабельностью. Используя эту концепцию, вы можете сохранить все свои функции в классе c# и вызвать его в VB.Один пример:HTTP://в ВСП.dotnetfunda.ком/статьи/выставки/915/как-бы-используется CSharp-функции-из-vbnet