在我的程序中,我想根据他们在COMBOBOX中选择的内容将用户输入的数据放入一个类别。
TABCONTROL中有四个类别和四个DATAGRIDVIEWS(在单独的表单中)。
我可以添加用户输入的信息,但COMBOBOX还没有它的功能。
如何让用户选择“类别1”,它将输入的数据发送到dataGridView1,“category 2”到dataGridView2?
我知道这将需要“if,else-if”声明,但我不确定如何将基于COMBOBOX选择的数据导向适当的DGV。
答案 0 :(得分:0)
我会将ComboBox作为输入表单上的必填字段。当用户提交条目时,应将其路由到适当的类别。使用ComboBox.SelectedIndex
(或.SelectedText
或.SelectedValue
)确定选择了哪个类别。 ComboBox.DropDownStyle
应该是DropDownList
,因此用户必须从列出的选项中进行选择。
如果在输入后发生分类,那么您应该有Apply
或Categorize
按钮来执行实际分类。逻辑非常简单:
private void CategorizeButton_Click(object sender, EventArgs e)
{
switch (CategoryComboBox.SelectedIndex)
{
case 0: // Category 1
// Code to send to Category 1
break;
case 1: // Category 2, repeat as necessary
// Code to send to Category 2
break;
default:
MessageBox.Show("Please select a category!");
CategoryComboBox.Focus();
return;
}
}
如果发送到类别的代码几乎相同,则可以重构和简化。然后,您可以使用SelectedIndex来识别目标DataGridView,并减少代码长度和重复次数。
答案 1 :(得分:0)
这是一种更好或更有效的方法:
if(combobox1.SelectedValue = "category1"){
//user-entered info goes to DGV1
else if(combobox1.SelectedValue = "category2")
//user-entered info goes to DGV2
//.etc.