Kann man im C# mit Windows Forms eigene Datei Explorer Programmieren?
Hallo.
Also ich wollte euch fragen ob man eigene Datei Explorer unter C# mit Windows Forms Programmieren kann. Und damit meine ich, das ich eigene Design mit eigene Ordner und Datei Icons machen könnte.
Was meint ihr, wäre es sowas möglich? Und wenn ja, was braucht man alles, und wie macht man das ganze? Ist das auch sehr Kompliziert? Weil ich wollte schon immer ne 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:
Ja gut, man kann jedes Projekt beliebig groß aufziehen :D
Allerdings halte ich es für sehr unwahrscheinlich, dass das hier der Fall ist.
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.)
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.
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
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?
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
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.
Klar geht das. Ist halt aufwändig wenn man da viele Features haben will. Schwer ist das nicht.
Lern aber erstmal die Grundlagen des Programmierens.
Also ich muss sage, ich kenn mich schon um einiges gut mit C#. Denn ich habe geschafft eigene Taschenrechner, eigene Text Editor und eigene Zufallsgenerator Programm zu Programmieren. Ich weiß auch wie Int, Random, String funktioniert.
Und wo ist dann das Problem, wenn du dich doch mt C# auskennst?
Ja aber ein Programm zu machen die gespeicherte Datei anzeigt ist das bei mir unmöglich sowas zu programmieren.
Wieso? Dann kannst du dir Grundlagen nicht, wenn du da keinen Ansatz hast.
Das mit dem anzeige beim Gespeicherte Datei nicht. Weil kein Youtuber in der lage ist, eine Tutorial zu machen und meisten Tutorial Youtuber nehmen mit billige 9 Cent PC mit 1x1 Pixelauflösung und 50 FPS Pro Stunde, 9bitrate Mikrofon Quallität.
Sorry, Aber DU willst programmieren. Wenn du YouTube Tutorials abtippst, dann programmierst du nicht.
Selbst Programmieren = SELBST Lösungen finden.
Mach Ausbildung zum Fachinformatiker oder MATSE dann wirst du es können
Na das kommt drauf an:
Und schon sinds keine Anfängerprojekte mehr. ^^