Hallo,
ich habe in einer Datenbank Pfade zu Dateien gespeichert.
Diese Daten lasse ich in einer DataGridView anzeigen und möchte bei Doppelklick die Datei öffnen:
private void fswtabDataGridView_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
{
string pfad = fswtabDataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value as string;
MessageBox.Show(pfad);
System.Diagnostics.Process.Start(pfad);
}
Bei Doppelklick auf den Eintrag kommt folgender Fehler:
Eine nicht behandelte Ausnahme des Typs "System.ComponentModel.Win32Exception" ist in System.dll aufgetreten.
Zusätzliche Informationen: Das System kann die angegebene Datei nicht finden
die vorgeschaltete MessageBox zeigt den Pfad korrekt an und die Datei ist auch 100% vorhanden. Die Variable im Debugger zeigt aber jeden Backslash doppelt an, kanns daran liegen?
Was versuchst Du denn zu starten? Du kannst nicht alles starten lassen; evtl. fehlen Rechte etc.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
ich versuche eine ganz normale Excel-Datei zu starten.
Manuell starten geht ganz normal.
Wenn ich den Pfad direkt in die pfad-variable schreibe geht's auch,
nur nicht aus dem DataGridView???
vllt fehlen die Anführungszeichen um den Pfad.
Füge einfach mal ein " vor und hinter der Variable ein
MfG
ProGamer*Der Sinn Des Lebens Ist Es, Den Sinn Des Lebens Zu Finden!
*"Wenn Unrecht zu Recht wird dann wird Widerstand zur Pflicht."
*"Ignorance simplifies ANY problem."
*"Stoppt die Piraterie der Musikindustrie"
das versteh ich jetzt nicht, wenn ich die Variable pfad in Anführungszeichen setzte ist es doch keine Variable mehr, sondern das Wort "pfad"
pfad = "\"" + deinpfaditem +"\"";
++Rekursion ++
(lat. , die) siehe Rekursion
ich hab das Problem gefunden
ich hab den Pfad nochmal mit
pfad = pfad.Trim();
getrimmt und siehe da, es funktioniert.
Es waren im String wohl noch Leerzeichen nach den sichtbaren Zeichen vorhanden!
Danke Allen für die Hilfe!