Kann man im C# mit Windows Forms eigene Datei Explorer Programmieren?

6 Antworten

In fast allen Fällen kann man Fragen, die mit "Kann man..." beginnen, mit "Ja" beantworten ;)

Allerdings ist das nicht vergleichbar mit einem Taschenrechner, einem Text-Editor oder einem Zufallszahlen-Generator. Diese drei Projekte sind üblich für Anfänger, um etwas mit der Programmierung warm zu werden.

Das Problem hier ist, dass so ein Datei-Explorer dynamisch arbeiten muss, immerhin gibst Du nicht die Tasten wie im Taschenrechner vor, der Aufbau richtet sich nach dem Ordner, in dem Du gereade arbeiten willst. Hierfür wirst Du eine TreeView brauchen, die ist genau für solche Baum-Strukturen gemacht, wie Du sie auch aus dem Windows-Explorer auf der linken seite kennst. Für den Bereich, wo alle Items im aktuellen Ordner aufgelistet, brauchst Du eine Liste oder ein DataGrid, Letzteres dürfte für den Anfang einfacher sein. Eine Menü-Zeile sollte dir ja schon aus dem Text-Editor bekannt sein.

Ich persönlich würde sowas aber mit WPF aufbauen, da WPF besser mit flexiblen Styles umgehen kann und Du weniger selbst zeichnen musst. Wenn Du bisher nur mit WinForms gearbeitet hast, könnte der Umstieg aber etwas holprig werden, da beide Frameworks sich extrem unterscheiden und die Arbeitsweise (wenn man es richtig macht) deutlich anders ist. Allerdings würde ich auch lieber früher umsteigen, denn je mehr Du dich an WinForms gewöhnst, desto schwieriger wird der Umstieg ;)

Am besten Du schaust dir ein Buch an, wo alles zusammen erklärt wird:

http://openbook.rheinwerk-verlag.de/visual_csharp_2012/

Woher ich das weiß:Beruf – C# Softwareentwickler seit 2013

Wenn du schon WPF als Empfehlung angibst, dann sollte er es gleich richtig machen und auch noch das dazugehörige Pattern MVVM lernen ;)
https://de.wikipedia.org/wiki/Model_View_ViewModel
Weil sonst benutzt er noch WPF benutzt wie Winforms (Click-Event-Handler, etc.)

0
@WitchHunter0815

Danke für die Ergänzung, hätte ich dazu schreiben sollen.

In dem Buch wird das glaube ich auch nicht behandelt - sicher bin ich mir aber nicht mehr.

0
Allerdings ist das nicht vergleichbar mit einem Taschenrechner, einem Text-Editor oder einem Zufallszahlen-Generator. Diese drei Projekte sind üblich für Anfänger, um etwas mit der Programmierung warm zu werden.

Na das kommt drauf an:

  • Taschenrechner: Expression-Parser/Evaluator
  • Texteditor: Syntax-Highlighting u.ä.
  • Zufallszahlengenerator: Qualitativ hochwertige Entropie ggf. aus verschiedenen externen Quellen

Und schon sinds keine Anfängerprojekte mehr. ^^

0
@Isendrak

Ja gut, man kann jedes Projekt beliebig groß aufziehen :D

Allerdings halte ich es für sehr unwahrscheinlich, dass das hier der Fall ist.

1

Ob man das kann? Ja, wenn mans denn kann. ^^

Mit eigenem Design? Ja, wenn mans denn kann.

Was man braucht?

  • Ne Vorsteellung davon, wie das ganze am Ende aussehen soll.
  • Eine gewisse Erfahrung im Umgang mit .NET allgemein und ganz besonders mit den Klassen aus System.IO und System.Windows.Forms.
  • Mindestens einen Texteditor, besser aber eine geeignete IDE.
  • Einen C#-Compiler.
  • Für die Grundfunktionen etwa 3-5 Stunden, ggf. aber auch mehr oder weniger.
  • Und ganz wichtig: Die Fähigkeit, die Dokumentation zu lesen und zu verstehen, damit man hier nicht alle 5 Minuten eine weitere Frage stellt. ^^

Das wäre dann soweit das absolut allermindeste.

Ne rudimentäre Fassung von sowas hab Mitte/Ende 2017 ich mal gebastelt, kannst es dir ja mal ansehen: https://drive.google.com/open?id=1cYC-H-SaW-kTh00YJM3NSj--FD5iEDE9

Woher ich das weiß:eigene Erfahrung

Hi

Ja kannst du, sollte nicht all zu schwer sein.

Dazu kommen mir spontan folgende Controls in den Sinn:

  • TreeNode - gibt dir eine einfache Baumstruktur, welche durch eine For Each file In Directory.GetFiles() Schlaufe als Dateibrowser verwendet werden kann
  • ContextMenuStripe - für alle Rechtsklickoptionen die du bieten möchtest

Falls du nach anderen Anregungen suchst, kannst du dich hier melden.

Kann man unter TreeNode eigene Hintergrund und eigene Ordner icons erstellen?

0
@PrincPersia

Du kannst das Icon der Nodes anhand des Dateityps setzen. Am besten machst du einen AddHandler für die dynamisch erstellten Nodes, damit du immer sicher bist, welcher Node / Datei der Benutzer ausgewählt hat

0

Klar ist das möglich. Was du dafür brauchst ist halt ne ordentliche IDE wie Visual Studio, deine Icons und Bilder als Vorlagen, einiges Wissen über .net, C#, die .net Basisklassen, über Dateisysteme usw.

Je nach dem was dein Teil alles können soll eben.

Woher ich das weiß:Beruf – Berufserfahrung

Natürlich kann man das.

Was man dazu braucht: gute Programmierkenntnisse oder die Geduld, sich die Befehle im Netz zusammenzusuchen.

Woher ich das weiß:Beruf – ich arbeite schon sehr lange im EDV Bereich, viele Sparten

Was möchtest Du wissen?