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ß:Berufserfahrung
WitchHunter0815  24.01.2019, 11:44

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
Palladin007  24.01.2019, 14:38
@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
Isendrak  24.01.2019, 13:36
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
Palladin007  24.01.2019, 14:37
@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.

PrincPersia 
Fragesteller
 24.01.2019, 08:32

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

0
gabrixl  24.01.2019, 08:35
@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ß:Berufserfahrung – Berufserfahrung

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.

Woher ich das weiß:Studium / Ausbildung – Informatikstudium
PrincPersia 
Fragesteller
 24.01.2019, 08:30

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.

0
PrincPersia 
Fragesteller
 24.01.2019, 08:33
@triopasi

Ja aber ein Programm zu machen die gespeicherte Datei anzeigt ist das bei mir unmöglich sowas zu programmieren.

0
triopasi  24.01.2019, 08:37
@PrincPersia

Wieso? Dann kannst du dir Grundlagen nicht, wenn du da keinen Ansatz hast.

0
PrincPersia 
Fragesteller
 24.01.2019, 08:40
@triopasi

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.

0
triopasi  24.01.2019, 08:47
@PrincPersia

Sorry, Aber DU willst programmieren. Wenn du YouTube Tutorials abtippst, dann programmierst du nicht.

Selbst Programmieren = SELBST Lösungen finden.

0
HexoFX  24.01.2019, 08:52
@PrincPersia

Mach Ausbildung zum Fachinformatiker oder MATSE dann wirst du es können

0
triopasi  24.01.2019, 09:11
@HexoFX

Braucht man gar nicht.... kann man auch so lernen.

1
HexoFX  24.01.2019, 10:41
@triopasi

Ja kann man. Aber durch Arbeit wirst du es besser beherrschen als von alleine zu lernen.

0