textbox绑定combox 这应该 是一个简单的问题,但我确实不会。要求:每当combox选定一个选项时,textbox中显示相应的内容。比如:combox选中人名时,textbox显示性别。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 combox的selectedchanged事件中处理,根据combox的值去查性别,然后给textbox.text赋值 楼主可以把人名和姓名一起显示在combox上啊,,sql中把2个字段组合一下就可以了 在combox的onchange事件中获取combox的值用SQL查找到这个人的性别信息 然后填充textbox combox 添加属性对象(这个对象包含:人名,年纪,性别等等),在selectedchanged事件中,直接将selectItem的性别值赋给textBox 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的值没有变化。请问,是怎么回事? combox1.Text=》this.combox1.SelectedItem.ToString() 没这么麻烦用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; } }就这么简单,同步事件可以不用去写,微软会自动同步上下文 先说一下,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并不跟着变化。这是为什么呢? 明白了。我不应该直接在cs文件中写代码。我应该双击combox控件,让系统自动生成事件代码。包括insert.cs和insert.designer.cs两个文件。刚才我在insert.designer.cs中手工加入相应代码,就OK了。 关于C#数据库的存储过程 关于调用office2007 在sql server中增加一列后,在C#中访问不到 如何实现两个Combox中,一个值发生变化时另一个也发生变化! [攒分贴]每日小知识 按下回车键后Combox控件焦点转移到下一控件? 源代码down下来 可是在我机器上却用不了 如何建立.net 3.0项目/网站? 一个关于注释的问题.我个人认为还是有点难度的. 各为C#的先驱者,小弟才开始学C#,请推荐本入门级的书?各位入门的是哪本书? DataGridView 选中一行 Button按钮突然单击无效
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的值没有变化。
请问,是怎么回事?
this.combox1.SelectedItem.ToString()
{
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; }
}就这么简单,同步事件可以不用去写,微软会自动同步上下文
我又尝试了一种方法。 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并不跟着变化。这是为什么呢?