c#(winform)combobox手动添加的选项怎么获取value?

有一个combobox,怎么添加display的text和value的值?比如:先add一个“请选择”,他的值为0又有一个数据库:ID,名称1,张三2,李四然后通过数据库... 有一个combobox,怎么添加display的text和value的值?
比如:
先add一个“请选择”,他的值为0
又有一个数据库:
ID,名称
1,张三
2,李四
然后通过数据库循环add,显示对应数据库中的“名称”,值对应数据库中的ID

最后我选择“请选择”时,传值为0,选择其他的时,对应他们的值。怎么做呢?高手赐教!

是winform程序,不是web
展开
 我来答
freeeeeewind
推荐于2017-10-12 · TA获得超过1万个赞
知道大有可为答主
回答量:3227
采纳率:94%
帮助的人:1344万
展开全部

以下方法实现获取ComboBox中被选中项的值:

(1)在Visual Studio中新建一个“Windows 窗体应用程序”项目

(2)在项目中添加一个类MyItem。这个类有两个用途:

  • 在ComboBox中显示

  • 用于检索被选中项的值

MyItem.cs代码

namespace WindowsFormsApplication1
{
    class MyItem
    {
        public MyItem(string name, int value)
        {
            Name = name;
            Value = value;
        }
        public string Name { get; private set; }
        public int Value { get; private set; }
    }
}

(3)在Form1上布置一个ComboBox、一个Label

(4)窗体代码 Form1.cs

using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // 清空lable1
            label1.Text = string.Empty;            
            
            // 列表集合将作为comboBox1的数据源
            List<MyItem> list = new List<MyItem>();
            list.Add(new MyItem("张三", 10));
            list.Add(new MyItem("李四", 20));
            list.Add(new MyItem("王五", 30));

            // 绑定
            comboBox1.DataSource = list;
            
            // 在comboBox1中显示MyItem的Name属性
            comboBox1.DisplayMember = "Name";
        }
        
        // 获取被选中项的Value值
        private void comboBox1_SelectedIndexChanged(
                object sender, 
                EventArgs e)
        {
            // 将被选中的项目强制转换为MyItem
            MyItem item = comboBox1.SelectedItem as MyItem;
            // 显示被选中项的值
            label1.Text = string.Format("Value = {0}", item.Value);
        }
    }
}

(5)运行

程序启动后

改变comboBox1选择

luck_bird
2009-06-19 · TA获得超过161个赞
知道小有建树答主
回答量:85
采纳率:0%
帮助的人:119万
展开全部
先在外部定义一个类,比如MyItem,有两个属性TEXT,VALUE,重写ToString方法,返回Text的值。

在添加时,这样

MyItem item = new MyItem()
item.Text = "请选择";
item.Value = 0;

combobox.Items.Add(item);

item = new MyItem();

item.Text = "张三";
item.Value = 1;

combobox.Items.Add(item);

取值时,这样

MyItem item = combobox.SelectedItem as MyItem;

这样就可以通过item.Value得到你想要的值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
18356771
推荐于2017-09-01 · TA获得超过585个赞
知道小有建树答主
回答量:576
采纳率:100%
帮助的人:420万
展开全部
combobox.datasource=dt;
combobox.displaymenber="名称";
combobox.valuemenber="ID";
dt是datatable,有ID和“名称”两个列
记忆中好像是这样滴。试试看
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式