Arthuro Geschrieben 10. August 2007 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); } } } }
Arthuro Geschrieben 10. August 2007 Autor Geschrieben 10. August 2007 Kann Geclosed werden der Fehler lag an ListView
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden