Windows Explorer vereinfacht nachbilden

Tikonteroga

Erfahrenes Mitglied
Hallo,

ich möchte in einem Dialog dem Benutzer die Möglichkeit geben zur Erstellung eines neues Projekts eine Vorlage zu verwenden.

Hierfür habe ich bis jetzt eine ListBox verwendet, in der die Vorlagen als ListBoxElemente mit ihrem Namen angezeigt werden. Die Vorlagen sind im Dateisystem als Dateien vorhanden.

Nun würde ich die Ansicht gerne so aufbereiten, dass diese wie die Ansicht "Kacheln" oder "Inhalt" im Windows Explorer von Windows 7 aussieht. Kann ich die ListBox für diese Ansicht möglichst ohne wenige Aufwand modifizieren oder gibt es hier falls möglich ein fertiges bzw. geeigneteres UserControl ?

Falls möglich soll es kein WPF-Element sein, da ich mich für Forms entschieden habe und möglichst nicht mischen möchte.

Gruß

Tikonteroga
 
Hallo,

schau dir mal das ListView Control an.
Da kannst du die Ansicht umschalten wie im Explorer.

Hier ein kleines Beispiel:
C#:
this.listView1.View = View.Details;
this.listView1.View = View.SmallIcon;
 
Hallo,

vielen Dank, habe meinen Dialog entsprechend umgeändert und mache jetzt den Code wieder kombilierbar.

Sofort aufgefallen ist mir dass das Property "SelectedItem" fehlt und dieser Collection kann man auch nicht so einfach ein Element aus der View per Default als Selected setzen ...

Ich probier das jetzt mal weiter und mache mich schlau, aber falls ihr kurz eine Hilfestellung geben könnt ... sehr gerne :)
 
Hallo,

du kannst es damit probieren:
C#:
bool isSelected = this.listView1.Items[0].Selected
Mit Selected kannst du setzen oder abfragen was gerade markiert ist.

Oder:
C#:
ListView.SelectedListViewItemCollection s = this.listView1.SelectedItems;
 
Zuletzt bearbeitet:
Hallo,

ich habe das jetzt soweit hinbekommen.

Jetzt habe ich jedoch ein weiteres Problem, dass ich nicht lösen kann.

- Ich habe als View "LargeIcon" ausgewählt. Nun werden die ListViewItems nebeneinander dargestellt und der Text ist umgebrochen.

- Ich möchte gerne den Dateinamen, den Dateipfad, den Ersteller und das Erstelldatum anzeigen. Es wird jedoch nur der Dateiname, also das Text-Attribute angezeigt.

- Wie kann ich denn das Icon von einem FileInfo Objekt auf ein ListViewMenuItem übertragen?

Gruß

Tikonteroga
 
Hallo,

- Ich habe als View "LargeIcon" ausgewählt. Nun werden die ListViewItems nebeneinander dargestellt und der Text ist umgebrochen.
Das stimmt. (ich sehe kein Problem oder Frage hier)
- Ich möchte gerne den Dateinamen, den Dateipfad, den Ersteller und das Erstelldatum anzeigen. Es wird jedoch nur der Dateiname, also das Text-Attribute angezeigt.
Wie und wo willst du das anzeigen, direkt unter dem passenden LargeIcon, ein PopUp oder als Tooltip oder wie?
- Wie kann ich denn das Icon von einem FileInfo Objekt auf ein ListViewMenuItem übertragen?
Hab ich selbst noch nicht gemacht, aber eine ListView hat als Property eine LargeImageList. Da fügst du dein Icon ein. Bei den jeweiligen ListViewItems musst du dann den Index setzen welches Image/Icon angezeigt werden soll (Wenn ich dich richtig verstanden hab).
 
Das stimmt. (ich sehe kein Problem oder Frage hier)

Ich würde gerne alle ListViewItems untereinander oder maximal zwei nebeneinander anzeigen.

Ich möchte gerne den Dateinamen, den Dateipfad, den Ersteller und das Erstelldatum anzeigen. Es wird jedoch nur der Dateiname, also das Text-Attribute angezeigt.

Ich würde es gerne so machen, wie in der Ansicht "Kacheln" des Windows Explorers (Windows XP).
 
Hallo,

Ich würde gerne alle ListViewItems untereinander oder maximal zwei nebeneinander anzeigen.
Du kannst die "View" auf "Tile" (Kachel) stellen und nicht auf "LargeIcon".
Dann könntest die TileSize (Property der ListView) so groß stellen, dass nur noch 1 oder 2 Kacheln hinpassen.

Ich würde es gerne so machen, wie in der Ansicht "Kacheln" des Windows Explorers (Windows XP).
Hat sich vielleicht ja mit Punkt 1 erledigt (umstellen auf Kacheln"Tile").
 
Hallo,

danke für deine Hilfestellung. Ich habe das jetzt so eingestellt.

Nun hätte ich noch eine Frage. Ich möchte ja in der ListView Dateien anzeigen. Und in meinem Anwendungsfall ist es wichtig, dass zusätzlich zum Dateinamen (z. B. name.txt) auch noch die Dateiattribute Pfad, Bearbeitungsdatum und Bearbeiter angezeigt wird. Ist die dies mit der Kacheldarstellung möglich ?

Ich habe bereits in den jeweiligen ListViewItems diese ListViewSubItems erstellt, aber der Inhalt wird nicht angezeigt ...
 
Hallo,

meines Wissens werden die SubItems nur in der "Detail" Ansicht angezeigt.
Du könntest aber vielleicht einen ToolTip anzeigen (wenn ein Item geklickt ist) mit den entsprechenden Informationen.
Oder du fügst mehrere TextBoxen ein, in der dann Details stehen wenn ein Item geklickt wurde.

Das sind aber nur Ideen. :)
 

Neue Beiträge

Zurück