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);
}
}
}
}