这应该 是一个简单的问题,但我确实不会。
要求:每当combox选定一个选项时,textbox中显示相应的内容。
比如:combox选中人名时,textbox显示性别。

解决方案 »

  1.   

    combox的selectedchanged事件中处理,根据combox的值去查性别,然后给textbox.text赋值
      

  2.   

    楼主可以把人名和姓名一起显示在combox上啊,,sql中把2个字段组合一下就可以了
      

  3.   

    在combox的onchange事件中获取combox的值用SQL查找到这个人的性别信息 然后填充textbox
      

  4.   

    combox 添加属性对象(这个对象包含:人名,年纪,性别等等),在selectedchanged事件中,直接将selectItem的性别值赋给textBox
      

  5.   


    private void combox1_selectedchanged(object sender, EventArgs e)
            {
                txtbox1.Text = oper.GetJc(combox1.Text).ToString();                  
            }public DataSet GetJc(string findSybm)
            {
                return data.RunProcReturn("select jc from tb_BaseSybm where sybm="+ findSybm + "' ORDER BY ID", "tb_BaseSybm");
            }测试了一下,combox的值变了,但是txtbox的值没有变化。
    请问,是怎么回事?
      

  6.   

    combox1.Text=》
    this.combox1.SelectedItem.ToString()
      

  7.   

    没这么麻烦用Binding绑在相同的列表上就ok了,微软会自动帮你同步,这种方式也就是那拨新鲜人号称的MVVM   public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }        private void Form2_Load(object sender, EventArgs e)
            {
                List<data> list = new List<data>();
                list.Add(new data() { name="A1",sex="男"  });
                list.Add(new data() { name = "A2", sex = "女" });
                this.bindingSource1.DataSource = list;
                this.comboBox1.DataSource = this.bindingSource1;
                this.comboBox1.DisplayMember = "name";
                this.textBox1.DataBindings.Add("Text", this.bindingSource1, "sex");
            }
        }    class data
        {
            public string name { get; set; }
            public string sex { get; set; }
        }就这么简单,同步事件可以不用去写,微软会自动同步上下文
      

  8.   

    先说一下,6楼的代码无效。
    我又尝试了一种方法。 private void BindComboBox()
            {combox1.DataSource = oper.GetDataSetBaseSybm().Tables[0].DefaultView;
                combox1.ValueMember = "jc";
                combox1.DisplayMember = "sybm";
             }private void combox1_SelectedIndexChanged(object sender, System.EventArgs e)        {
                    //txtbox1.Text = combox1.SelectedItem.ToString();
                    txtbox1.Text = combox1.SelectedValue.ToString();
                        
            }
    combox显示正常,但textbox并不跟着变化。这是为什么呢?
      

  9.   

    明白了。我不应该直接在cs文件中写代码。我应该双击combox控件,让系统自动生成事件代码。包括insert.cs和insert.designer.cs两个文件。刚才我在insert.designer.cs中手工加入相应代码,就OK了。