Listbox-Elemente nach Farbe kategorisieren
So versuche ich eine Listbox mit 2 Buttons zu machen. Listbox soll Dateien aus einem bestimmten Ordner anzeigen (ich komme darauf zurück) und die beiden Schaltflächen sollen "Set .." (wie im Set-Verzeichnis) und "Update" (wie die Liste aktualisiert wird) heißen (was ich tue) jedes Mal, wenn Windows Form ausgeführt wird.
So ab sofort, wenn ich meine Anwendung starte und zum Formular mit der Listbox gehe, ist die Listbox leer. Wenn Sie auf "Aktualisieren" klicken, werden im Listenfeld Dateien von einer Adresse auf meiner Festplatte abgerufen (dies ist also eine statische Adresse in meinem Code).
s findet auch 7 verschiedene Erweiterungen (Dateitypen) und listet alle korrekt au
Mein Problem ist wie folgt: Ich möchte, dass die Schaltfläche "Festlegen" einen Dateidialog für den Benutzer bei der ersten Ausführung öffnet, sodass der Benutzer selbst auswählen kann, in welchem Ordner das Programm "Indexe oder Suchen" ausgeführt werden soll. Wenn er dann die Anwendung erneut ausführt und das Listenfeld findet, kann er nur auf "Aktualisieren" klicken und das Listenfeld zeigt den Inhalt des Ordners an, den er zuletzt ausgewählt hat.
Die Set - Taste macht im Moment nichts in meinem Code.
Zweitens möchte ich, dass jeder Dateityp mit einer bestimmten Farbe beschriftet oder gefärbt wird.
Mögen; .txt sollte blau sein, .jpg ist rot, ect ..
ühren Sie Visual Studio 2013 aus, wenn dies hilfreich is
enn Sie bei der Überprüfung meines Codes auch Vorschläge haben, wie ich den Code verbessern, einfacher und kürzer machen und nur Änderungen vornehmen kann, um doppelte Codes zu vermeiden, lassen Sie es mich bitte wisse
Hier ist vom Design in VS2013
Code
Private Sub Form_Load(sender As Object, e As EventArgs) Handles Me.Load
FolderBrowserDialog1.SelectedPath = "xxx\xxx\xxx\xxx"
System.IO.Directory.GetCurrentDirectory()
Private Sub updateButtonGame_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles updateButtonGame.Click
If FolderBrowserDialog1.SelectedPath = "xxx\xxx\xxx\xxx" Then
ListFiles(FolderBrowserDialog1.SelectedPath)
End If
End Sub
Private Sub ListFiles(ByVal folderPath As String)
filesListBox.Items.Clear()
Dim fi = From f In New IO.DirectoryInfo(FolderBrowserDialog1.SelectedPath).GetFiles().Cast(Of IO.FileInfo)() _
Where f.Extension = ".z64" OrElse f.Extension = ".nds" OrElse f.Extension = ".BIN" OrElse f.Extension = ".smc" OrElse f.Extension = ".ISO" OrElse f.Extension = ".nes" OrElse f.Extension = ".gb"
Order By f.Extension
Select f
For Each fileInfo As System.IO.FileInfo In fi
filesListBox.Items.Add(fileInfo.Name)
Next
End Sub
Eine andere Sache, das ist optional ..
Meine Liste ist komplett schwarz, daher möchte ich, dass die "Items" in der Listbox hellgrau werden.
Ich habe mit etwas namens e.Graphics herumgespielt, in der Hoffnung, einen bestimmten Dateityp ausmalen zu können, und es wurden ALLE Elemente entweder schwarz, rot oder was auch immer ich damit anstellte. Nachdem Sie den Code entfernt haben, werden alle Elemente in der gleichen Farbe wie die Hintergrundfarbe der Listbox angezeigt. Daher kann ich die Elemente, die tatsächlich vorhanden sind, nicht mehr sehen, außer dass die Bildlaufleiste an der Seite auftaucht (da die vielen Elemente in dem Ordner, den ich ausgewählt habe).
Auch ich bin noch nicht so gut mit Coding / Visual Studio, da ich vor ca. 1 Woche damit angefangen habe. Begann mit VB 2010 und ging dann zu VS2013, um zu sehen, ob es mir gelungen ist, einige Probleme zu beheben, die auch mit List Box zu tun haben.
Wenn ich es eher schlecht erklärt habe, lass es mich wissen und ich werde mit besseren Infos updaten. Das Projekt wurde auch zuerst in VB 2010 erstellt und dann "migriert" oder in VS 2013 geöffnet.