Arthuro Geschrieben 10. August 2007 Teilen Geschrieben 10. August 2007 Kann mir jemand bei diesem Fehler helfen ? "ListView2.Form1.ListViewItemSorter.get" ist nicht als abstrakt oder extern deklariert und muss daher einen Text deklarieren. using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; using System.Diagnostics; namespace ListView2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); string[] drives = Directory.GetLogicalDrives(); TreeNode node; foreach (string drv in drives) { node = treeView1.Nodes.Add(drv); if (node.Text == "A:\\") { node.ImageIndex = 0; node.SelectedImageIndex = 0; continue; } AllSubDirectories(node); if (drv == "C:\\") treeView1.SelectedNode = node; } } private void AllSubDirectories(TreeNode node) { DirectoryInfo[] arrDirInfo; DirectoryInfo dirinfo = new DirectoryInfo(node.FullPath); try { arrDirInfo = dirinfo.GetDirectories(); } catch { return; } foreach (DirectoryInfo info in arrDirInfo) { node.Nodes.Add(info.Name); } } private void treeView1_BeforeExpand(object sender, TreeViewCancelEventArgs e) { foreach (TreeNode node in e.Node.Nodes) { AllSubDirectories(node); } } private TreeNode activeNode; private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { activeNode = e.Node; this.GetAllDirAndFileInfos(); } private void GetAllDirAndFileInfos() { listView1.Items.Clear(); ListViewItem item; DirectoryInfo dirInfo = new DirectoryInfo(treeView1.SelectedNode.FullPath); try { foreach(DirectoryInfo dir in dirInfo.GetDirectories()) { item = listView1.Items.Add(" " + dir.Name, 1); item.SubItems.Add(""); item.SubItems.Add(dir.LastWriteTime.ToString()); } foreach(FileInfo file in dirInfo.GetFiles()) { item = listView1.Items.Add(file.Name, 2); item.SubItems.Add(file.Length.ToString()); item.SubItems.Add(file.LastWriteTime.ToString()); string fileAttributes = ""; if ((file.Attributes & FileAttributes.Archive) != 0) fileAttributes += "A"; if ((file.Attributes & FileAttributes.Hidden) != 0) fileAttributes += "H"; if ((file.Attributes & FileAttributes.ReadOnly) != 0) fileAttributes += "R"; if ((file.Attributes & FileAttributes.System) != 0) fileAttributes += "S"; item.SubItems.Add(fileAttributes); } } catch { return; } } private void listView_ItemActivate(object sender, EventArgs e) { foreach (ListViewItem item in listView1.SelectedItems) { string path = treeView1.SelectedNode.FullPath; path = path + "\\" + item.Text; FileInfo fileInfo = new FileInfo(path); if (0 != (fileInfo.Attributes | FileAttributes.Directory)) { foreach (TreeNode node in activeNode.Nodes) { if (item.Text.Trim() == node.Text.Trim()) { treeView1.SelectedNode = node; treeView1.SelectedNode.Expand(); activeNode = node; treeView1.Refresh(); return; } } } else { try { Process.Start(path); } catch { return; } } } } private void schließenToolStripMenuItem_Click(object sender, EventArgs e) { this.Close(); } private void löschenToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog dlgFileOpen = new OpenFileDialog(); dlgFileOpen.Title = "Öffnen"; dlgFileOpen.ShowDialog(); } private void schließenToolStripMenuItem_Click_1(object sender, EventArgs e) { this.Close(); } public class ListViewComparer : IComparer //Sortieren der Colums { private int col; private SortOrder order; public ListViewComparer(int col, SortOrder order) { this.col = col; this.order = order; } public int Compare(object x, object y) { ListViewItem item1, item2; item1 = (ListViewItem)x; item2 = (ListViewItem)y; if (this.order == SortOrder.Ascending) return item1.SubItems[col].Text.CompareTo(item2.SubItems[col].Text); else return item2.SubItems[col].Text.CompareTo(item1.SubItems[col].Text); } } public IComparer ListViewItemSorter { get; set;} private void Dateiname_ColumnClick(object sender, ColumnClickEventArgs e) { if (Dateiname.ListView.Sorting == SortOrder.Ascending) { Dateiname.ListView.Sorting = SortOrder.Descending; Dateiname.ListViewItemSorter = new ListViewComparer(e.Column, SortOrder.Descending); } else { Dateiname.ListView.Sorting = SortOrder.Ascending; Dateiname.ListViewItemSorter = new ListViewComparer(e.Column, SortOrder.Ascending); } } } } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Arthuro Geschrieben 10. August 2007 Autor Teilen Geschrieben 10. August 2007 Kann Geclosed werden der Fehler lag an ListView Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.