/*
Professional Windows GUI Programming Using C#
by Jay Glynn, Csaba Torok, Richard Conway, Wahid Choudhury,
Zach Greenvoss, Shripad Kulkarni, Neil Whitlow
Publisher: Peer Information
ISBN: 1861007663
*/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
namespace ListView
{
///
/// Summary description for ListViewCountry.
///
public class ListViewCountry : System.Windows.Forms.Form
{
private System.Windows.Forms.ListView listView1;
private System.Windows.Forms.ColumnHeader Country;
private System.Windows.Forms.ColumnHeader Capital;
private System.Windows.Forms.ColumnHeader City_1;
private System.Windows.Forms.ColumnHeader City_2;
private System.Windows.Forms.Button REPORT;
private System.Windows.Forms.Button LIST;
private System.Windows.Forms.Button SMALLICON;
private System.Windows.Forms.Button LARGEICON;
ImageList ig = new ImageList();
private System.Windows.Forms.Button SELECTED;
private System.Windows.Forms.Button CHECKED;
private System.Windows.Forms.Panel panel1;
///
/// Required designer variable.
///
private System.ComponentModel.Container components = null;
public ListViewCountry()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
//
// TODO: Add any constructor code after InitializeComponent call
//
}
///
/// Clean up any resources being used.
///
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
///
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///
private void InitializeComponent()
{
this.listView1 = new System.Windows.Forms.ListView();
this.Country = new System.Windows.Forms.ColumnHeader();
this.Capital = new System.Windows.Forms.ColumnHeader();
this.City_1 = new System.Windows.Forms.ColumnHeader();
this.City_2 = new System.Windows.Forms.ColumnHeader();
this.REPORT = new System.Windows.Forms.Button();
this.LIST = new System.Windows.Forms.Button();
this.SMALLICON = new System.Windows.Forms.Button();
this.LARGEICON = new System.Windows.Forms.Button();
this.SELECTED = new System.Windows.Forms.Button();
this.CHECKED = new System.Windows.Forms.Button();
this.panel1 = new System.Windows.Forms.Panel();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// listView1
//
this.listView1.AllowColumnReorder = true;
this.listView1.CheckBoxes = true;
this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.Country,
this.Capital,
this.City_1,
this.City_2});
this.listView1.Dock = System.Windows.Forms.DockStyle.Top;
this.listView1.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.listView1.ForeColor = System.Drawing.SystemColors.HotTrack;
this.listView1.FullRowSelect = true;
this.listView1.Name = "listView1";
this.listView1.Size = new System.Drawing.Size(464, 152);
this.listView1.TabIndex = 0;
this.listView1.View = System.Windows.Forms.View.Details;
this.listView1.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.listView1_ColumnClick);
this.listView1.SelectedIndexChanged += new System.EventHandler(this.listView1_SelectedIndexChanged);
//
// Country
//
this.Country.Text = "Country";
this.Country.Width = 100;
//
// Capital
//
this.Capital.Text = "Capital";
this.Capital.Width = 150;
//
// City_1
//
this.City_1.Text = "City_1";
this.City_1.Width = 100;
//
// City_2
//
this.City_2.Text = "City_2";
this.City_2.Width = 100;
//
// REPORT
//
this.REPORT.Dock = System.Windows.Forms.DockStyle.Left;
this.REPORT.Location = new System.Drawing.Point(75, 0);
this.REPORT.Name = "REPORT";
this.REPORT.Size = new System.Drawing.Size(75, 24);
this.REPORT.TabIndex = 1;
this.REPORT.Text = "Report";
this.REPORT.Click += new System.EventHandler(this.REPORT_Click);
//
// LIST
//
this.LIST.Dock = System.Windows.Forms.DockStyle.Left;
this.LIST.Location = new System.Drawing.Point(300, 0);
this.LIST.Name = "LIST";
this.LIST.Size = new System.Drawing.Size(75, 24);
this.LIST.TabIndex = 1;
this.LIST.Text = "List";
this.LIST.Click += new System.EventHandler(this.LIST_Click);
//
// SMALLICON
//
this.SMALLICON.Dock = System.Windows.Forms.DockStyle.Left;
this.SMALLICON.Location = new System.Drawing.Point(150, 0);
this.SMALLICON.Name = "SMALLICON";
this.SMALLICON.Size = new System.Drawing.Size(75, 24);
this.SMALLICON.TabIndex = 1;
this.SMALLICON.Text = "Small Icon";
this.SMALLICON.Click += new System.EventHandler(this.SMALLICON_Click);
//
// LARGEICON
//
this.LARGEICON.Dock = System.Windows.Forms.DockStyle.Left;
this.LARGEICON.Location = new System.Drawing.Point(375, 0);
this.LARGEICON.Name = "LARGEICON";
this.LARGEICON.Size = new System.Drawing.Size(75, 24);
this.LARGEICON.TabIndex = 1;
this.LARGEICON.Text = "Large Icon";
this.LARGEICON.Click += new System.EventHandler(this.LARGEICON_Click);
//
// SELECTED
//
this.SELECTED.Dock = System.Windows.Forms.DockStyle.Left;
this.SELECTED.Name = "SELECTED";
this.SELECTED.Size = new System.Drawing.Size(75, 24);
this.SELECTED.TabIndex = 2;
this.SELECTED.Text = "Selected";
this.SELECTED.Click += new System.EventHandler(this.SELECTED_Click);
//
// CHECKED
//
this.CHECKED.Dock = System.Windows.Forms.DockStyle.Left;
this.CHECKED.Location = new System.Drawing.Point(225, 0);
this.CHECKED.Name = "CHECKED";
this.CHECKED.Size = new System.Drawing.Size(75, 24);
this.CHECKED.TabIndex = 3;
this.CHECKED.Text = "Checked";
this.CHECKED.Click += new System.EventHandler(this.CHECKED_Click);
//
// panel1
//
this.panel1.Controls.AddRange(new System.Windows.Forms.Control[] {
this.LARGEICON,
this.LIST,
this.CHECKED,
this.SMALLICON,
this.REPORT,
this.SELECTED});
this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.panel1.Location = new System.Drawing.Point(0, 157);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(464, 24);
this.panel1.TabIndex = 4;
//
// ListViewCountry
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(464, 181);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.panel1,
this.listView1});
this.Name = "ListViewCountry";
this.Text = "ListView";
this.Load += new System.EventHandler(this.ListViewCountry_Load);
this.panel1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
///
/// The main entry point for the application.
///
[STAThread]
static void Main()
{
Application.Run(new ListViewCountry());
}
private void ListViewCountry_Load(object sender, System.EventArgs e)
{
// Create an image list of icons that you want to display for each item
ig.Images.Add(new Icon("FLGUSA01.ICO"));
ig.Images.Add(new Icon("CTRITALY.ICO"));
ig.Images.Add(new Icon("FLGCAN.ICO"));
ig.Images.Add(new Icon("FLGSWITZ.ICO"));
ig.Images.Add(new Icon("FLGUK.ICO"));
// Set the Imagelist for SmallIcons
listView1.SmallImageList = ig ;
// Set the ImageList for LargeIcons
listView1.LargeImageList = ig ;
// Align the columns 1,2,3 and the column data as Center
listView1.Columns[1].TextAlign = HorizontalAlignment.Center ;
listView1.Columns[2].TextAlign = HorizontalAlignment.Center ;
listView1.Columns[3].TextAlign = HorizontalAlignment.Center ;
// Create a ListViewItem object for evey item that you wish to add the ListView.
string[] lv = new String[4];
lv[0] = "USA" ;
lv[1] = "Washington DC" ;
lv[2] = "New York" ;
lv[3] = "Los Angeles" ;
listView1.Items.Add( new ListViewItem(lv,0));
lv[0] = "Italy" ;
lv[1] = "Rome" ;
lv[2] = "Venice" ;
lv[3] = "Milan" ;
listView1.Items.Add( new ListViewItem(lv,1));
lv[0] = "Canada" ;
lv[1] = "Ottawa" ;
lv[2] = "Montreal" ;
lv[3] = "Quebec" ;
listView1.Items.Add( new ListViewItem(lv,2));
lv[0] = "Switzerland" ;
lv[1] = "Geneva" ;
lv[2] = "Zurich" ;
lv[3] = "Lucerne" ;
listView1.Items.Add( new ListViewItem(lv,3));
lv[0] = "UnitedKingdom" ;
lv[1] = "London" ;
lv[2] = "ChesterField" ;
lv[3] = "Wembly" ;
listView1.Items.Add( new ListViewItem(lv,4));
for ( int j=0; j < listView1.Items.Count ; j++)
{
ListViewItem lvi = listView1.Items[j] ;
for ( int i=0; i < lvi.SubItems.Count ; i++)
{
Console.Write(lvi.SubItems[i].Text + "\t") ;
}
Console.WriteLine("\n");
}
}
private void REPORT_Click(object sender, System.EventArgs e)
{
// Switch to the Report View
this.Text = "Report View";
listView1.View = View.Details;
}
private void LARGEICON_Click(object sender, System.EventArgs e)
{
// Switch to the LargeIcon view
this.Text = "LargeIcon View";
listView1.View = View.LargeIcon ;
}
private void SMALLICON_Click(object sender, System.EventArgs e)
{
// Switch to the SmallIcon view
this.Text = "SmallIcon View";
listView1.View = View.SmallIcon;
}
private void LIST_Click(object sender, System.EventArgs e)
{
// Switch to the List view
this.Text = "List View";
listView1.View = View.List;
}
private void SELECTED_Click(object sender, System.EventArgs e)
{
// Get the list of indices for all the selected items
string StrSelected = "ITEM SELECTED FROM THE LISTVIEW ARE ...\n\n" ;
for ( int k=0; k < listView1.SelectedIndices.Count ; k++)
{
StrSelected = StrSelected + "[" + (k+1) + "] " ;
// Get the item ( as ListViewItem ) at the selected index.
ListViewItem lvi = listView1.Items[listView1.SelectedIndices[k]];
for ( int i=0; i < lvi.SubItems.Count ; i++)
{
// Get the subItem for the the selected item
StrSelected = StrSelected + lvi.SubItems[i].Text + "\t";
}
StrSelected = StrSelected + "\n";
}
MessageBox.Show(StrSelected , "Selected Items");
}
private void CHECKED_Click(object sender, System.EventArgs e)
{
// Get the list of indices for all checked items
string StrSelected = "ITEM CHECKED FROM THE LISTVIEW ARE ...\n\n" ;
for ( int k=0; k < listView1.CheckedIndices.Count; k++)
{
StrSelected = StrSelected + "[" + (k+1) + "] " ;
// Get the item ( as ListViewItem ) at the selected index.
ListViewItem lvi = listView1.Items[listView1.CheckedIndices[k]];
for ( int i=0; i < lvi.SubItems.Count ; i++)
{
// Get the subItem for the the selected item
StrSelected = StrSelected + lvi.SubItems[i].Text + "\t";
}
StrSelected = StrSelected + "\n";
}
MessageBox.Show(StrSelected , "Checked Items");
}
private void listView1_SelectedIndexChanged(object sender, System.EventArgs e)
{
}
private void listView1_ColumnClick(object sender, System.Windows.Forms.ColumnClickEventArgs e)
{
if (listView1.Sorting == SortOrder.Descending)
listView1.Sorting = SortOrder.Ascending;
else
listView1.Sorting = SortOrder.Descending;
listView1.Sort();
}
}
}
ListView.zip( 46 k)