using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.ListView lvCountries; private System.Windows.Forms.ImageList imgLarge; private System.Windows.Forms.ImageList imgSmall; private System.Windows.Forms.ComboBox cbView; private System.Windows.Forms.Label lblAbbreviation; private System.ComponentModel.IContainer components; public Form1() { InitializeComponent(); lvCountries.Items.Add(new CountryItem("United States", "US", "Dollar")); lvCountries.Items[0].ImageIndex = 0; lvCountries.Items.Add(new CountryItem("Great Britain", "GB", "Pound")); lvCountries.Items[1].ImageIndex = 1; lvCountries.Items.Add(new CountryItem("Canada", "CA", "Dollar")); lvCountries.Items[2].ImageIndex = 2; lvCountries.Items.Add(new CountryItem("Japan", "JP", "Yen")); lvCountries.Items[3].ImageIndex = 3; lvCountries.Items.Add(new CountryItem("Germany", "GM", "Deutch Mark")); lvCountries.Items[4].ImageIndex = 4; cbView.Items.Add(View.LargeIcon); cbView.Items.Add(View.SmallIcon); cbView.Items.Add(View.List); cbView.Items.Add(View.Details); cbView.SelectedIndex = 0; lvCountries.Columns.Add("Country",100, HorizontalAlignment.Left); lvCountries.Columns.Add("Currency",100, HorizontalAlignment.Left); } private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.lvCountries = new System.Windows.Forms.ListView(); this.imgLarge = new System.Windows.Forms.ImageList(this.components); this.imgSmall = new System.Windows.Forms.ImageList(this.components); this.cbView = new System.Windows.Forms.ComboBox(); this.lblAbbreviation = new System.Windows.Forms.Label(); this.SuspendLayout(); this.lvCountries.LargeImageList = this.imgLarge; this.lvCountries.Location = new System.Drawing.Point(24, 72); this.lvCountries.Name = "lvCountries"; this.lvCountries.Size = new System.Drawing.Size(256, 248); this.lvCountries.SmallImageList = this.imgSmall; this.lvCountries.TabIndex = 0; this.lvCountries.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lvCountries_MouseUp); this.imgLarge.ImageSize = new System.Drawing.Size(48, 48); this.imgLarge.TransparentColor = System.Drawing.Color.Transparent; this.imgSmall.ColorDepth = System.Windows.Forms.ColorDepth.Depth16Bit; this.imgSmall.ImageSize = new System.Drawing.Size(16, 16); this.imgSmall.TransparentColor = System.Drawing.Color.Transparent; // // cbView // this.cbView.Location = new System.Drawing.Point(32, 32); this.cbView.Name = "cbView"; this.cbView.Size = new System.Drawing.Size(128, 21); this.cbView.TabIndex = 1; this.cbView.SelectedIndexChanged += new System.EventHandler(this.cbView_SelectedIndexChanged); // // lblAbbreviation // this.lblAbbreviation.Location = new System.Drawing.Point(176, 32); this.lblAbbreviation.Name = "lblAbbreviation"; this.lblAbbreviation.Size = new System.Drawing.Size(48, 23); this.lblAbbreviation.TabIndex = 2; // // Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(312, 339); this.Controls.Add(this.lblAbbreviation); this.Controls.Add(this.cbView); this.Controls.Add(this.lvCountries); this.Name = "Form1"; this.Text = "Form1"; this.ResumeLayout(false); } static void Main() { Application.Run(new Form1()); } private void cbView_SelectedIndexChanged(object sender, System.EventArgs e) { lvCountries.View = (View)cbView.SelectedItem; } private void lvCountries_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) { if(lvCountries.View != View.Details) lblAbbreviation.Text = ((CountryItem)lvCountries.GetItemAt(e.X, e.Y)).CountryAbbreviation; else lblAbbreviation.Text = ((CountryItem)lvCountries.GetItemAt(5, e.Y)).CountryAbbreviation; } } public class CountryItem : System.Windows.Forms.ListViewItem { string countryName = ""; string countryAbbrev = ""; public CountryItem(string countryName, string countryAbbreviation, string currency) { countryName = countryName; countryAbbrev = countryAbbreviation; base.Text = countryName; base.SubItems.Add(currency); } public string CountryName { get {return countryName;} } public string CountryAbbreviation { get {return countryAbbrev;} } }