65.9K
CodeProject 正在变化。 阅读更多。
Home

.NET 中的 ItemData

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.56/5 (9投票s)

2007 年 12 月 11 日

CPOL
viewsIcon

54414

downloadIcon

222

.NET 中组合框和列表框的 Item Data

.NET 中的 ItemData,在 Visual Studio 6.0 中,您可以使用 ItemData 将额外值绑定到组合框和列表框。那么在 .Net 中该如何实现呢?

Visual Studio 6.0:返回/设置 ComboBox 或 ListBox 控件中每个项目的特定编号。

使用代码

您是否正在寻找 .NET 中的 Item Data 属性,以便在组合框或列表框中存储附加信息(值)? 此属性在 .NET 中不可用,那么该如何实现呢? 这里 .Net 有它的妙处,在 .NET 中一切都被视为对象。组合框或列表框的 add 方法接受对象作为参数,因此我们可以创建自己的自定义类或结构,并将其绑定到控件,从而可以保存任意数量的项目。

如果仍然不清楚,那么我们来看代码吧

#region Itemdata

    public struct ItemData
    {
        public int EmpID;
        public string EmpName;
        public double Salary;

        public ItemData(int _EmpID, string _EmpName, double _Salary)
        {
            EmpID = _EmpID;
            EmpName = _EmpName;
            Salary = _Salary;
        }

        public override string ToString()
        {
            return this.EmpName;
        }
    }
    #endregion


//Load the values into Combo Box and List Box with the help of 

//Custom structure


private void frmItemData_Load(object sender, EventArgs e)
        {
            listBoxEmp.Items.Clear();
            listBoxEmp.Items.Add(new ItemData(10, "Raja", 20000));
            listBoxEmp.Items.Add(new ItemData(20, "Sekar", 40000));
            listBoxEmp.Items.Add(new ItemData(30, "kumar", 60000));
            comboEmp.Items.Clear();
            comboEmp.Items.Add(new ItemData(10,"Raja",20000));
            comboEmp.Items.Add(new ItemData(20, "Sekar", 40000));
            comboEmp.Items.Add(new ItemData(30, "kumar", 60000));
        }

//Now the Value is loaded into List box and Combo box How do you access it //while selecting the item see the below code


//When select the values in Combo box Messagebox will show the Itemdata

private void comboEmp_SelectedIndexChanged(object sender, EventArgs e)
        {
            MessageBox.Show("Emp Name: " + ((ItemData)comboEmp.SelectedItem).EmpName + "  Emp ID: " + ((ItemData)comboEmp.SelectedItem).EmpID.ToString() + "  Salary:" + ((ItemData)comboEmp.SelectedItem).Salary.ToString());
        }

//When select the values in ListBox Messagebox will show the Itemdata



        private void listBoxEmp_SelectedIndexChanged(object sender, EventArgs e)
        {

            MessageBox.Show("Emp Name: " + ((ItemData)listBoxEmp.SelectedItem).EmpName + "  Emp ID: " + ((ItemData)listBoxEmp.SelectedItem).EmpID.ToString() + "  Salary:" + ((ItemData)listBoxEmp.SelectedItem).Salary.ToString());
        }

		

这是一篇关于 .Net 中 itemdata 的初始文章,我将继续更新此主题。

© . All rights reserved.