|
You last visited: Today at 19:50
Advertisement
C# Datei Explorer
Discussion on C# Datei Explorer within the .NET Languages forum part of the Coders Den category.
07/11/2013, 08:32
|
#1
|
elite*gold: 100
Join Date: Mar 2009
Posts: 3,116
Received Thanks: 1,576
|
C# Datei Explorer
Edit: Problem wurde gelöst:
Hayhou,
vorweg sei gesagt ich bin blutiger Anfänger was programmieren angeht, also bitte seid gnädig falls die Frage offensichtlich ist, ich stehe grade auf'm Schlauch
Ich hab als Übung  so verändert, dass er einem richtigen Explorer schon näher kommt und ich alle Festplatten etc. sehe. Klappt soweit auch wunderbar, das war nicht das Problem. Jetzt will ich allerdings noch etwas mehr verändern und möchte, dass eine Datei bei Doppelklick mit dem Standardprogramm geöffnet wird. Ich hatte vor das mit der Methode Process.Start() zu machen.
Damit liste ich die Dateien im ausgewählten Verzeichnis auf. Mein Problem ist jetzt nur, dass ich nicht weiß wie ich den Dateipfad an Process.Start() übergeben soll.
Code:
foreach (string Fname in Files)
{
subinfo[0] = GetFileName(Fname);
subinfo[1] = GetSizeinfo(Fname);
subinfo[2] = GetTypeinfo(Fname);
subinfo[3] = GetFileModDate(Fname);
subinfo[4] = GetFileCreDate(Fname);
ListViewItem FItems = new ListViewItem(subinfo);
listView1.Items.Add(FItems);
}
Hoffe mir kann dabei jemand nen kleinen Tipp geben, wenn auch nur wonach ich Googeln soll, ich komm grade echt nicht weiter.
Grüße
RaZoR
|
|
|
07/11/2013, 08:41
|
#2
|
elite*gold: 666
Join Date: Apr 2011
Posts: 5,810
Received Thanks: 2,418
|
Ich geh mal davon aus, dass Fname den Dateipfad enthält?
Dann kannst du
a) den Dateipfad mit in der ListView ausgeben und dann von dort aushernehmen oder
b) einfach die ganzen Fname irgendwie aufrufen, z.b. wenn du sie nochmal in ein array packst
|
|
|
07/11/2013, 08:42
|
#3
|
elite*gold: 0
Join Date: May 2012
Posts: 868
Received Thanks: 947
|
Why don't you use a simple DataGridView ?
This is a simple example from a MySQL query form:
Code:
this.table = await Server.DBManager.Query(cmd);
this.dataGridView1.DataSource = table;
this.dataGridView1.Refresh();
Where this.table is System.Data.DataTable
sorry for not giving a better example, i'm a bit busy. consider this as a simple advice, group the files' information in a table
|
|
|
07/11/2013, 10:08
|
#4
|
elite*gold: 5
Join Date: Mar 2008
Posts: 460
Received Thanks: 436
|
Quote:
Originally Posted by <RaZoR>
Code:
foreach (string Fname in Files)
{
subinfo[0] = GetFileName(Fname);
subinfo[1] = GetSizeinfo(Fname);
subinfo[2] = GetTypeinfo(Fname);
subinfo[3] = GetFileModDate(Fname);
subinfo[4] = GetFileCreDate(Fname);
ListViewItem FItems = new ListViewItem(subinfo);
listView1.Items.Add(FItems);
}
|
Code:
foreach (string Fname in Files)
{
subinfo[0] = GetFileName(Fname);
subinfo[1] = GetSizeinfo(Fname);
subinfo[2] = GetTypeinfo(Fname);
subinfo[3] = GetFileModDate(Fname);
subinfo[4] = GetFileCreDate(Fname);
subinfo[5] = Fname; // <- if its the full path if not add here the full path example: "C:/Temp/test.exe"
ListViewItem FItems = new ListViewItem(subinfo);
listView1.Items.Add(FItems);
}
Code:
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = listView1.SelectedItem.Item[5]; // <-- could be that's not correct but simply you need from you selected ListView entry the 5th item with fullpath.
startInfo.Arguments = ""; // <-- only needed to call with a program with arguments
Process.Start(startInfo); // <-- starts the programm
|
|
|
07/11/2013, 10:59
|
#5
|
elite*gold: 100
Join Date: Mar 2009
Posts: 3,116
Received Thanks: 1,576
|
Edit: Problem gelöst, danke an alle
Ich hab jetzt eine neue Spalte hinzugefügt, in der der Dateipfad steht:
Code:
foreach (string Fname in Files)
{
subinfo[0] = GetFileName(Fname);
subinfo[1] = GetSizeinfo(Fname);
subinfo[2] = GetTypeinfo(Fname);
subinfo[3] = GetFileModDate(Fname);
subinfo[4] = GetFileCreDate(Fname);
subinfo[5] = GetFilePath(Fname);
ListViewItem FItems = new ListViewItem(subinfo);
listView1.Items.Add(FItems);
GetFilePath sieht dann so aus, der Pfad wird in der Spalte auch angezeigt:
Code:
public string GetFilePath(string path)
{
FileInfo fp = new FileInfo(path);
return path;
}
Hier dann noch was beim Doppelklick passiert:
Code:
void listView1_MouseDoubleClick(object sender, MouseEventArgs e)
{
MessageBox.Show("Die Datei wird jetzt mit dem Standardprogramm geöffnet");
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = listView1.SelectedItems[0].SubItems[5].Text;
Process.Start(startInfo);
}
|
|
|
07/11/2013, 11:43
|
#6
|
elite*gold: 666
Join Date: Apr 2011
Posts: 5,810
Received Thanks: 2,418
|
PHP Code:
listView1.SelectedItems[0].SubItems[5].Text
bei fehlern, schauen, was der fehler ist und sich selber informieren, in dem fall über die listview
|
|
|
07/14/2013, 17:02
|
#7
|
elite*gold: 900
Join Date: Apr 2009
Posts: 14,981
Received Thanks: 11,403
|
closed on request
|
|
|
 |
Similar Threads
|
Verkaufe Middleman wallpaper.gif datei + psd datei suche egold
07/29/2012 - elite*gold Trading - 16 Replies
GFX shop.
Es werden die gif + psd datein verkauft , ihr sagt preis wenn er passt schikt ihr eg und ich DL link
#1
http://i.epvpimg.com/afzcd.gif
#2Neu
|
Fehlermeldung, Datei existiert nicht zum packen der Season1, Datei ist aber da ...
08/10/2011 - Metin2 Private Server - 4 Replies
Hallo,
wie oben schon beschrieben hab ich die Season1 entpackt um eine neue Map
einzufügen, doch das Problem ist, wenn ich die Season1 wieder einpacken will,
dann steht in der CMD Box ein Fehler:
Bild im Anhang!
Doch die Datei exisitert, ich war in den Ordner rein, und die Datei war auch da.
|
rechtsklick auf datei =>explorer.exe crash
03/08/2011 - Technical Support - 3 Replies
hey leute,
bei mir ist es seit neuestem so, dass, sobald ich auf eine bestimmte datei klicke, die meldung explorer.exe funktioniert nicht mehr und dann explorer.exe wird neugestartet kommt. die datei ist nicht immer die selbe, ab und zu ist es eine verknüpfung, dann wieder eine andere .exe etc.
die dateien sind ganz unterschiedlich, können auch gerade eben erst frisch gedownloadete dateien sein, kann auch eine verknüpfung sein, die ich schon ewig aufm desktop habe, wie z.b. inet o.ä.
hoffe...
|
All times are GMT +1. The time now is 19:51.
|
|