首页 新闻 赞助 找找看

winform 疑问..高手进

0
悬赏园豆:5 [已解决问题] 解决于 2012-12-20 00:06

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            List<Source> list = new List<Source>();
            list.Add(new Source
            {
                ID = "1",
                Name = "kobe"
            });
            list.Add(new Source
            {
                ID = "2",
                Name = "JORDAN"
            });
            this.comboBox1.DisplayMember = "Name";
            this.comboBox1.ValueMember = "ID";
            this.comboBox1.DataSource = list;

            this.comboBox2.DisplayMember = "Name";
            this.comboBox2.ValueMember = "ID";
            this.comboBox2.DataSource = list;
        }
    }
    public class Source
    {
        public string ID { get; set; }
        public string Name { get; set; }
    }

(选择后)为什么combox1变化后。。combox2跟着变化????高手请教!!!...

彬彬@科比的主页 彬彬@科比 | 初学一级 | 园豆:43
提问于:2012-12-18 20:37
< >
分享
最佳答案
0

应该是你的2个combox共用了一个list, 然后你改变了list,然后2个就都变化了

收获园豆:5
chenping2008 | 大侠五级 |园豆:9836 | 2012-12-18 20:54

改变list??选择下拉框会改变list嘛??

彬彬@科比 | 园豆:43 (初学一级) | 2012-12-18 20:59

@彬彬@科比: 可以做个例子看看

chenping2008 | 园豆:9836 (大侠五级) | 2012-12-19 07:29
其他回答(3)
0

因为你共用了一个变量list,  this.comboBox1.DataSource = list;改成  this.comboBox1.DataSource = list.ToList();

悟行 | 园豆:12559 (专家六级) | 2012-12-18 22:22

下拉选中事件。。跟list有什么关系???

支持(0) 反对(0) 彬彬@科比 | 园豆:43 (初学一级) | 2012-12-18 22:55
0

list相当于c++中的指针,内存用的是一个,所以你改变了选中的值,那就相当于当前指针指向地址变化了,所以第二个显示也会变化

茂茂 | 园豆:2892 (老鸟四级) | 2012-12-19 09:47
0

哥,我一直关注你这个问题,咋就这么草率的结贴了

RyanCheng | 园豆:474 (菜鸟二级) | 2012-12-20 17:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册