Laden...

Combobox listet Dateien auf und soll diese öffnen..

Erstellt von mcsas vor 9 Jahren Letzter Beitrag vor 9 Jahren 1.901 Views
Thema geschlossen
M
mcsas Themenstarter:in
16 Beiträge seit 2013
vor 9 Jahren
Combobox listet Dateien auf und soll diese öffnen..

Hallo,

hoffe einer von euch kann mich etwas unterstützen, denn ich bin momentan komplett durch einander.

ich habe in einen Dialog eine Combobox und ein Button.
die Combobox listet alle Dateien die in dem Verzeichnis liegen auf,

wenn ich jetzt auf den Button klicke soll diese Datei geöffnet werden, aber wie?

Lg

2.207 Beiträge seit 2011
vor 9 Jahren

Hallo mcsas,

Process-Start startet die Datei mit dem Standard-Programm auf dem System.

Gruss

Coffeebean

M
mcsas Themenstarter:in
16 Beiträge seit 2013
vor 9 Jahren

hallo coffeebean

das ich die Datei öffne mit Process.Start ist mir soweit auch klar, das sieht bei mir auch so aus:

Process.Start(Path1 + ComboBox1.Selected.Index)

bei diesen Process.Start kann aber was nicht passen, da er es nicht öffnet.

Path1 = ein hinterlegter String zum Verzeichnis.

2.207 Beiträge seit 2011
vor 9 Jahren

Hallo mcsas,

wenn du dir anschaust, was die Methode für Parameter verlangt, siehst du etwaige Sachen. Unter anderem den kompletten Pfad zu der Datei. Abhängig davon, was du in deiner Combobox anzeigst / rausholst musst du den Pfad zu deiner Datei noch entsprechend parsen bzw. vervollständigen.

Aber das bekommst du schon hin 😉

[Artikel] Debugger: Wie verwende ich den von Visual Studio?

da er es nicht öffnet.

Das ist auch keine Fehlermeldung. Was gibst du denn rein? Was passiert denn? Schmeisst er einen Fehler? Macht der einfach gar nichts?

Wenn Path1 = dein Pfad ist fehlt noch der Dateiname. "Index" gibt aber vielleicht den Index an (als Zahl) welchen du ausgewählt hast in der Combobox, kann das sein? Schau mit dem Debugger rein. Vielleicht ist SelectedItem dein Freund.

Einfach mal unter: ComboBox.SelectedItem-Eigenschaft schauen 😉

Das fällt aber wieder unter: [Hinweis] Wie poste ich richtig? Punkt 1.1

Zum Zusammensetzen von Pfaden nutze bitte Path.Combine

Gruss

Coffeebean

M
mcsas Themenstarter:in
16 Beiträge seit 2013
vor 9 Jahren

Hallo Coffeebean,

ich habe es jetzt mal auf diesen code geändert.

 private void button1_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start(Path1 + comboBox2.SelectedItem);
        }

der Dateiname wird ja in der Combobox aufgelistet, und der ausgewählte Dateiname soll dann mit dem Process.Start geöffnet werden.

der Debugger bringt folgende Fehlermeldung nachdem ich auf den Button geklickt hab.

Fehlermeldung:
Das System kann die angegebene Datei nicht finden

(Wahrscheinlich weil der Dateiname nicht aus der Combobox mit übernommen wird.

und so sieht der komplette code aus.

public partial class Form1 : Form
    {
        String Path1 = @"\\192.168.1.12\backup\Dateien\";
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //combobox2 wird in Read Only Modus versetzt.
            comboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;

            //die Excel Dateien auflisten ohne die Dateiendung *.xls
            foreach (string s in Directory.GetFiles(Path1, "*.xls"))
            {
                comboBox2.Items.Add(Path.GetFileNameWithoutExtension(s));
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start(Path1 + comboBox2.SelectedItem);
        }
   }
}
J
251 Beiträge seit 2012
vor 9 Jahren

Hey mcsas,

Achte mal auf die Datei-Endung

M
mcsas Themenstarter:in
16 Beiträge seit 2013
vor 9 Jahren

Hallo Jamikus,

die Dateiendung ist wirklich** xls **

2.207 Beiträge seit 2011
vor 9 Jahren

Hallo mcsas,

du fügst aber die Datei ohne Endung hinzu. Und dann versuchst du, die zu starten.

Bitte benutze endlich den Debugger. Damit siehst du, was drin steht und was du startest.
[Artikel] Debugger: Wie verwende ich den von Visual Studio?

Prüfe mal den Pfad, den er dir hinter der bereits geschriebenen Fehlermeldung bringt. Da steht auch WAS er genau nicht findet. Die Fehlermeldung ist eindeutig.

Gruss

Coffeebean

49.485 Beiträge seit 2005
vor 9 Jahren

Hallo mcsas,

verwende die Path-Klasse auch zum Zusammenbauen der Pfade.

Bitte beachte, dass du das Problem mit Hilfe des Debuggers und der Grundlagen, die wir hier voraussetzen, leicht hättest selber lösen können.

Wenn man die Meldung bekommt, dass die angegebene Datei nicht gefunden werden kann, schaut man sich doch als erstes an, welche(n) Datei(pfad) man angegeben hat. Das wäre sogar ohne Debugger leicht möglich gewesen, wenn du dir einfach mal hättest ausgeben lassen, was für einen Dateipfad du zusammengebaut hast.

Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 1.1 und 1.1.1.

"gemeinsam mehr erreichen" bedeutet eben auch, aus eigener Kraft die nötigen Schritte zur Lokalisierung von Fehlern zu unternehmen und das Forum nicht unnötig in Anspruch zu nehmen.

herbivore

Thema geschlossen