vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Laufwerke in ComboBox 
Autor: Manfred X
Datum: 25.10.15 10:21

Hallo!

So ganz geheuer ist mir die Sache noch nicht -
(eventuell einen Hintergrundprozess für ListDrives ???)

Vielleicht genügt dieser Code Deinen Anforderungen ...
(nicht unter allen DriveTypes und DriveConditions getestet!)

Imports System.IO
 
Public Class frmDrives
 
    Dim strPathSearch As String = "D:\"
 
    Dim lblInfo As New Label With _
         {.Parent = Me, .Top = 30, .Width = 400}
 
    Dim lstDrives As New List(Of String)
 
    Dim WithEvents cbDrives As New ComboBox With _
          {.Parent = Me, .Width = 400}
 
 
 
    Private Sub frmDrives_Load(sender As System.Object, _
        e As System.EventArgs) Handles MyBase.Load
 
        setDrives()
    End Sub
 
 
 
    Private Sub ListDrives()
 
        Dim strLabel As String = ""                     ' Laufwerkbezeichnung
        lstDrives.Clear()
 
        For Each d As DriveInfo In DriveInfo.GetDrives  ' alle vorh. LW 
        ' durchlaufen
            Select Case d.DriveType                       '   Select Case 
            ' Laufwerkstyp
                Case DriveType.Unknown                      '   - 1: Unknown
                    strLabel = "    Unknown ("                   '        Text
                Case DriveType.Fixed                       '   - 3: Fixed
                    strLabel = "    Lokaler Datenträger ("       '        Text
                Case DriveType.Network                      '   - 4: 
                ' Netzlaufwerk
                    strLabel = "    Netzlaufwerk ("              '        Text
                Case DriveType.CDRom                       '   - 5: CDRom
                    strLabel = "    CD-ROM-Laufwerk ("           '        Text
                Case DriveType.Ram                          '   - 5: Ram
                    strLabel = "    Ram ("                       '        Text
                Case DriveType.Removable                   '   - 6: 
                ' Wechseldatenträger
                    strLabel = "    Wechseldatenträger ("        '        Text
                Case Else
                    strLabel = "    unbekannt "
            End Select                                    '   End Select
 
 
            Dim add As String = ""
            If Not d.IsReady Then                      '   wenn Laufwerk bereit
                add = "nicht bereit"
            End If
 
            lstDrives.Add _
              (d.Name.Substring(0, 2) & "   (" & strLabel & ")   " & add)
        Next d                                            ' nächstes Laufwerk
    End Sub
 
 
 
    Public Sub setDrives()
 
        lblInfo.Text = "Laufwerke werden ermittelt ...."
        lblInfo.Refresh()
 
        cbDrives.DataSource = Nothing
 
        ListDrives()
 
        cbDrives.DataSource = lstDrives
        lblInfo.Text = ""
 
        Call setSelection()                             ' -> setSelection()
 
    End Sub
 
 
 
    Private Sub setSelection()
 
        If String.IsNullOrEmpty(strPathSearch) OrElse _
           Not IO.Directory.Exists(strPathSearch) Then
 
            Me.cbDrives.SelectedIndex = 0                 '   Vorgabe: 1. gef. 
            ' LW
 
            'tvFolders.SelectedNode = tvFolders.Nodes(0)   '
            'tvFolders.SelectedNode.Expand()               '
 
        Else                                            ' Else...  (Pfad 
        ' vorhanden)
            For i As Integer = 0 To lstDrives.Count - 1      '   alle gef. LW 
            ' durchlaufen
                '     wenn 1./2.Zeichen
                If lstDrives(i).StartsWith(strPathSearch.Substring(0, 2)) Then
                    Me.cbDrives.SelectedIndex = i             '       Vorgabe: 
                    ' gef. LW
                    Exit For                                  '       -> 
                    ' Schleife verlassen
                End If                                      '     End If
            Next i                                         '   nächstes LLW
 
            'Call setSelection(strPathSearch, tn)          '   -> setSelection()
        End If                                          ' End If
    End Sub
 
 
 
    Private Sub cbDrives_DropDown(sender As Object, _
        e As System.EventArgs) Handles cbDrives.DropDown
        setDrives()
    End Sub
 
End Class


Beitrag wurde zuletzt am 25.10.15 um 10:44:23 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Laufwerke in ComboBox2.186Dikn24.10.15 12:59
Re: Laufwerke in ComboBox1.465Manfred X24.10.15 13:45
Re: Laufwerke in ComboBox1.441Dikn25.10.15 09:24
Re: Laufwerke in ComboBox1.285Manfred X25.10.15 10:21
Re: Laufwerke in ComboBox1.378cookstdu25.10.15 12:41
Re: Laufwerke in ComboBox1.223Dikn27.10.15 14:12
Re: Laufwerke in ComboBox1.425Manfred X27.10.15 15:09
Re: Laufwerke in ComboBox1.164Dikn28.10.15 09:29
Re: Laufwerke in ComboBox1.241Dikn28.10.15 16:06
Re: Laufwerke in ComboBox1.618Manfred X28.10.15 17:08

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel