logiz4
Cadet 3rd Year
- Registriert
- Sep. 2008
- Beiträge
- 46
Ich arbeite Gerade an einem Projekt um eine Playlist für Winamp herstellen zu können, das ganze wird über Touchscreen gesteuert. Hier erstmal der Code:
1. Wenn ich beim DirectoryInfo den Pfad mit C:/ angebe, kommt bei mir eine Exeption das ich auf den Pfad nicht zugreifen kann/darf. Wie kann ich das beheben, habe VS 2010?
2. Dann zu meiner Listview ich will die mit einer Checkbock oder einfach nur markierten Einträge von beiden Colums/Spalten in eine 2 Listview übertragen. Wie geht das? Hab schon in bei google angefragt aber das Orakel konnte mir nicht helfen und hier im Forum hab ich auch nichts gefunden.
Danke im Vorraus
logiz4
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace FileBrowser
{
public partial class FileLister : UserControl
{
public FileLister()
{
InitializeComponent();
PopulateTreeView();
listView1.Columns.Add("Datei", 450);
listView1.Columns.Add("Path");
listView2.Columns.Add("Datei", 450);
listView2.Columns.Add("Path");
}
private void PopulateTreeView()
{
TreeNode rootNode;
DirectoryInfo info = new DirectoryInfo(@"C:\"); // Hier gibts einen Fehler
if (info.Exists)
{
rootNode = new TreeNode(info.Name);
rootNode.Tag = info;
GetDirectories(info.GetDirectories(), rootNode);
treeView1.Nodes.Add(rootNode);
}
}
private void GetDirectories(DirectoryInfo[] subDirs, TreeNode nodeToAddTo)
{
TreeNode aNode;
DirectoryInfo[] subSubDirs;
foreach (DirectoryInfo subDir in subDirs)
{
aNode = new TreeNode(subDir.Name, 0, 0);
aNode.Tag = subDir;
aNode.ImageKey = "folder";
subSubDirs = subDir.GetDirectories();
if (subSubDirs.Length != 0)
{
GetDirectories(subSubDirs, aNode);
}
nodeToAddTo.Nodes.Add(aNode);
}
}
private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
int i=0;
string[] seachfor = { "*.mp3", "*.flac", "*.wma", "*.wav", "*.ogg", "*.aac", "*.vbl", "*.cda", "*.nsa", "*.asf", "*.m3u", "*.m3u8", "*.pls", "*.b4s", "*wpl", "*.asx", "*."};
TreeNode newSelected = e.Node;
DirectoryInfo nodeDirInfo = (DirectoryInfo)newSelected.Tag;
listView1.Items.Clear();
listView1.Columns.Clear();
while (i != seachfor.Length)
{
foreach (FileInfo file in nodeDirInfo.GetFiles(seachfor[i]))
{
string[] filepath = { file.Name, file.FullName };
ListViewItem item1 = new ListViewItem(filepath);
this.listView1.Items.AddRange(new ListViewItem[] { item1 });
}
i++;
}
listView1.Columns.Add("Datei", 450);
listView1.Columns.Add("Path");
}
private void AddFilesButton_Click(object sender, EventArgs e)
{
}
private void ClearFilesButton_Click(object sender, EventArgs e)
{
}
}
}
1. Wenn ich beim DirectoryInfo den Pfad mit C:/ angebe, kommt bei mir eine Exeption das ich auf den Pfad nicht zugreifen kann/darf. Wie kann ich das beheben, habe VS 2010?
2. Dann zu meiner Listview ich will die mit einer Checkbock oder einfach nur markierten Einträge von beiden Colums/Spalten in eine 2 Listview übertragen. Wie geht das? Hab schon in bei google angefragt aber das Orakel konnte mir nicht helfen und hier im Forum hab ich auch nichts gefunden.
Danke im Vorraus
logiz4