ListBox.DisplayMember
/*
User Interfaces in C#: Windows Forms and Custom Controls
by Matthew MacDonald
Publisher: Apress
ISBN: 1590590457
*/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace DataBinding101
{
/// <summary>
/// Summary description for ObjectListBinding.
/// </summary>
public class ObjectListBinding : System.Windows.Forms.Form
{
internal System.Windows.Forms.ListBox lstCity;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public ObjectListBinding()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
//
// TODO: Add any constructor code after InitializeComponent call
//
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.lstCity = new System.Windows.Forms.ListBox();
this.SuspendLayout();
//
// lstCity
//
this.lstCity.Anchor = (((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right);
this.lstCity.IntegralHeight = false;
this.lstCity.Location = new System.Drawing.Point(4, 4);
this.lstCity.Name = "lstCity";
this.lstCity.Size = new System.Drawing.Size(252, 216);
this.lstCity.TabIndex = 2;
this.lstCity.DoubleClick += new System.EventHandler(this.lstCity_DoubleClick);
//
// ObjectListBinding
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 14);
this.ClientSize = new System.Drawing.Size(268, 230);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.lstCity});
this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.Name = "ObjectListBinding";
this.Text = "ObjectListBinding";
this.Load += new System.EventHandler(this.ObjectListBinding_Load);
this.ResumeLayout(false);
}
#endregion
private void ObjectListBinding_Load(object sender, System.EventArgs e)
{
City[] cityChoices = {new City("Seattle", "U.S.A."),
new City("New York", "U.S.A."), new City("Tokyo", "Japan"),
new City("Montreal", "Canada")};
lstCity.DataSource = cityChoices;
lstCity.DisplayMember = "Name";
}
private void lstCity_DoubleClick(object sender, System.EventArgs e)
{
MessageBox.Show(((City)lstCity.SelectedItem).Country);
}
[STAThread]
static void Main()
{
Application.Run(new ObjectListBinding());
}
}
public class City
{
private string name;
private string country;
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
public string Country
{
get
{
return country;
}
set
{
country = value;
}
}
public City(string name, string country)
{
this.Name = name;
this.Country = country;
}
}
}
Related examples in the same category