2013-12-11 18 views
0

我有一个适用于员工的Windows Forms应用程序,当我从ComboBox中选择员工姓名 时,文本框应填入选定员工的数据。我记得像自动回发属性,但我无法在Visual Studio中找到它。如何使WinForms应用程序中的ComboBox自动回发?

在此先感谢。

+0

在winforms中没有称为AutoPostback的东西。 –

回答

2

如果您使用的是WinForms,则不存在AutoPostBack这样的事情,即ASP.NET。在你的情况下使用SelectedIndexChanged-事件。在这种情况下,您可以获取所选项目并根据此项目获取员工的相应数据并填写文本框。

更多信息:

伪代码:

private void YourComboBox_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    string item = (string)YourComboBox.SelectedItem; 
    //Fetch data (dummy method) 
    Employee emp = GetDataByName(item); 
    //Write to TextBox 
    SomeTextBox.Text = emp.Function; 
} 
0

的WinForms提供了以下事件:

的SelectedIndexChanged发生时SelectedIndex属性已更改 。 SelectedValueChanged在SelectedValue属性发生更改时发生。

你可以阅读更多关于他们在这里:MSDN Combobox.

0

您应该使用ComboBox的SelectedIndexChanged事件。通常情况下,当你双击表单上的ComboBox时,你会得到它。

为了存储与一个值(假设ID)的文本,并将其添加到该组合框,按照此答案:

https://stackoverflow.com/a/11745699/870865

中的示例:

// On load event, add the items to the ComboBox following the above link I have posted... 

private void cmbEmployees_SelectedIndexChanged(object sender, EventArgs e) 
{ 
     int EmployeeID = ((KeyValuePair<string, string>)cmbEmployees.SelectedItem).Value; 
     var Employee = SomeClass.getEmployeeByID(EmployeeID); // Write a class or a method to get Employee as an object... 
     txtName.Text = Employee.Name; 
     txtEmail.Text = Empolyee.Email; 
} 

希望这给你一个想法!

相关问题