January 16
C # è un linguaggio di programmazione utilizzato da Microsoft per creare applicazioni informatiche. ListView nel vostro programma C # consente di visualizzare le colonne nella vostra programmazione in modo da poter modificare eventuali bug. L'interfaccia IComparer è il compilatore programma più comunemente usato sul sistema operativo Microsoft Windows. È possibile utilizzare questo per implementare le colonne nel programma tramite la funzione ListView. Non c'è bisogno di essere un esperto di computer per implementare questo nel vostro programma. È possibile farlo da soli.
1 Aprire il programma C # e quindi creare un nuovo progetto da l'icona "Nuovo" nella parte superiore del programma. Aggiungere il controllo ListView dal menu nella parte superiore del programma e quindi dimensionare il progetto in modo da avere abbastanza spazio per il testo.
2 Incolla questo codice nella tua opzione "Class" del modulo:
privato ListViewColumnSorter lvwColumnSorter;
3 Incolla questo codice nella parte "Costruttore" della forma dopo le appare il prompt "InitializeComponent":
// Crea un'istanza di una selezionatrice colonna di ListView e assegnarla
// Al controllo ListView. lvwColumnSorter = new ListViewColumnSorter (); this.listView1.ListViewItemSorter = lvwColumnSorter;
4 Incolla questo codice nella opzione "Carica" nella forma:
ColumnHeader ColumnHeader; // Utilizzato per la creazione di intestazioni delle colonne.
ListViewItem ListViewItem; // Utilizzato per la creazione di elementi ListView.
// Assicurarsi che la vista è impostato per visualizzare i dettagli.
listView1.View = View.Details;
// Creazione di alcuni elementi ListView, comprensivi di nomi e cognomi. ListViewItem = new ListViewItem ( "John"); listviewitem.SubItems.Add ( "Smith"); this.listView1.Items.Add (ListViewItem);
ListViewItem = new ListViewItem ( "Bob"); listviewitem.SubItems.Add ( "Taylor"); this.listView1.Items.Add (ListViewItem);
ListViewItem = new ListViewItem ( "Kim"); listviewitem.SubItems.Add ( "Zimmerman"); this.listView1.Items.Add (ListViewItem);
ListViewItem = new ListViewItem ( "Olivia"); listviewitem.SubItems.Add ( "Johnson"); this.listView1.Items.Add (ListViewItem);
// Creare alcune intestazioni delle colonne per i dati. ColumnHeader = new ColumnHeader (); columnheader.Text = "Nome"; this.listView1.Columns.Add (ColumnHeader);
ColumnHeader = new ColumnHeader ();
columnheader.Text = "Cognome"; this.listView1.Columns.Add (ColumnHeader);
// Loop attraverso e le dimensioni di ogni colonna per adattare il testo di intestazione di colonna. foreach (ch ColumnHeader in this.listView1.Columns)
{
ch.Width = -2;
}
5 Incolla questo codice nella opzione "ColumnClick" sul controllo ListView:
ColumnHeader ColumnHeader; // Utilizzato per la creazione di intestazioni delle colonne.
ListViewItem ListViewItem; // Utilizzato per la creazione di elementi ListView.
// Assicurarsi che la vista è impostato per visualizzare i dettagli.
listView1.View = View.Details;
// Creazione di alcuni elementi ListView, comprensivi di nomi e cognomi. ListViewItem = new ListViewItem ( "John"); listviewitem.SubItems.Add ( "Smith"); this.listView1.Items.Add (ListViewItem);
ListViewItem = new ListViewItem ( "Bob"); listviewitem.SubItems.Add ( "Taylor"); this.listView1.Items.Add (ListViewItem);
ListViewItem = new ListViewItem ( "Kim"); listviewitem.SubItems.Add ( "Zimmerman"); this.listView1.Items.Add (ListViewItem);
ListViewItem = new ListViewItem ( "Olivia"); listviewitem.SubItems.Add ( "Johnson"); this.listView1.Items.Add (ListViewItem);
// Creare alcune intestazioni delle colonne per i dati. ColumnHeader = new ColumnHeader (); columnheader.Text = "Nome"; this.listView1.Columns.Add (ColumnHeader);
ColumnHeader = new ColumnHeader ();
columnheader.Text = "Cognome"; this.listView1.Columns.Add (ColumnHeader);
// Loop attraverso e le dimensioni di ogni colonna per adattare il testo di intestazione di colonna. foreach (ch ColumnHeader in this.listView1.Columns)
{
ch.Width = -2;
}
6 Selezionare l'opzione "Aggiungi classe" nel menu progetto e quindi incollare questo codice nel l'opzione di default:
using System.Collections;
using System.Windows.Forms;
/// <Summary>
/// Questa classe è una implementazione dell'interfaccia del 'IComparer'.
/// </ Summary>
Classe ListViewColumnSorter pubblico: IComparer
{
/// <summary>
/// Specifica la colonna da ordinare
/// & Lt; / summary>
private int ColumnToSort;
/// & Lt; summary>
/// Specifica l'ordine in cui l'ordinamento (ad esempio 'Crescente').
/// & Lt; / summary>
privato SortOrder OrderOfSort;
/// & Lt; summary>
/// Caso oggetto di confronto insensibile
/// & Lt; / summary>
privato CaseInsensitiveComparer ObjectCompare;
/// & Lt; summary>
/// Costruttore della classe. Inizializza vari elementi
/// & Lt; / summary>
ListViewColumnSorter pubblico ()
{
// Inizializza la colonna a '0'
ColumnToSort = 0;
// Inizializza l'ordine di 'none'
OrderOfSort = SortOrder.None;
// Inizializzare l'oggetto CaseInsensitiveComparer
ObjectCompare = new CaseInsensitiveComparer ();
}
/// & Lt; summary>
/// Questo metodo viene ereditato dall'interfaccia IComparer. Esso mette a confronto i due oggetti passati utilizzando un caso confronto insensibile.
/// & Lt; / summary>
/// & Lt; param name = "x"> primo oggetto da comparare & lt; / param>
/// & Lt; param name = "y"> Secondo oggetto da comparare & lt; / param>
/// & Lt; returns> Il risultato del confronto. "0" se uguali, negativo se 'x' è inferiore a 'y' e positivo se 'x' è maggiore di 'y' & lt; / returns>
public int Confronta (oggetto x, y oggetto)
{
int compareResult;
ListViewItem listviewX, listviewY;
// Cast gli oggetti da rispetto agli oggetti ListViewItem
listviewX = (ListViewItem) x;
listviewY = (ListViewItem) y;
// Confrontare le due voci
compareResult = ObjectCompare.Compare (listviewX.SubItems [ColumnToSort] .Text, listviewY.SubItems [ColumnToSort] .Text);
// Calcola il valore di ritorno corretto sulla base di confronto oggetto
if (OrderOfSort == SortOrder.Ascending)
{
// È selezionato ascendente, tornare normale risultato del confronto funzionamento
tornare compareResult;
}
else if (OrderOfSort == SortOrder.Descending)
{
// È selezionato ordinamento decrescente, tornare risultato negativo di confrontare il funzionamento
ritorno (-compareResult);
}
altro
{
// Return '0' per indicare che sono uguali
return 0;
}
}
/// & Lt; summary>
/// Ottiene o imposta il numero della colonna a cui applicare l'operazione di ordinamento (di default a '0').
/// & Lt; / summary>
public int SortColumn
{
impostato
{
ColumnToSort = valore;
}
ottenere
{
tornare ColumnToSort;
}
}
/// & Lt; summary>
/// Ottiene o imposta l'ordine di selezione da applicare (per esempio, 'Crescente' o 'decrescente').
/// & Lt; / summary>
pubblico SortOrder Order
{
impostato
{
OrderOfSort = valore;
}
ottenere
{
tornare OrderOfSort;
}
}
}
7 Salvare la build dal menu in alto e quindi eseguire il programma. Fare clic sulle intestazioni delle colonne nel controllo ListView per aprire le colonne.