0
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    combobox.items.add=("peter magdy");

    if (combobox.selecteditems=("peter magdy")
    textbox.text==("age 23, male, etc");
}

此代码可帮助您使用组合框中的值填充文本框

4

4 回答 4

2

考虑这个

// your person model where you hold person info
public class Person
{
    public int Id {get; set;}
    public string Name {get; set;}
    public int Age {get; set;}
    public string Sex {get; set;}
}

// You will hold not strings but real objects in combo
private void LoadCombo()
{
    var john = new Pesron(){Id = 0, Name = "John", Age = 20, sex = "Male"};
    var maria = new Pesron(){Id = 1, Name = "Maria", Age = 19, sex = "Female"};
    var couple = new []{john, maria};

    combobox.DataSourse = couple;
    combobox.DisplayMember = "Name";
    combobox.ValueMember = "Id";
}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    // Then you can have entire person information at your disposal
    var p = (Person)combobox.SelectedItem;

    textbox.text = string.Format("Name {0}, Age {1}", p.Name, p.Age);
}
于 2013-11-12T19:00:59.727 回答
1

尝试这个。

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    comboBox1.Items.Add("peter magdy");

    if (comboBox1.SelectedItem == "peter magdy")
        textBox.Text = "age 23, male, etc";
}

不过,也许您将不得不更改组件的名称(在代码中或在 winform 设计器中)。

于 2013-11-12T18:41:58.647 回答
0

文本框具有Text可以设置/获取文本的属性。

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    combobox.items.add=("peter magdy");

    if (combobox.selecteditems=("peter magdy")
        textbox.Text ="age 23, male, etc";
}
于 2013-11-12T19:15:05.540 回答
0

也尝试查看 SelectionChangeComitted 事件来代替 selectionIndexChange。

SelectionChangeComitted 是选择的最后一个事件,它应该是值设置为组合框之前的位置。

当您在组合框中使用向上和向下箭头时,SelectedIndex 可能不会发生变化,但组合框的文本仍然会发生变化。

于 2013-12-17T12:33:10.337 回答