C#根据ComboBox选择定向数据

C# Directing Data Based on ComboBox Selection

在我的程序中,我想根据用户在 COMBOBOX 中选择的内容将用户输入的数据归入一个类别。

TABCONTROL 中有四个类别和四个 DATAGRIDVIEWS(在单独的表单上)。

我可以添加用户输入的信息,但 COMBOBOX 还没有它的功能。

如果用户选择 "category 1",我该如何将他们输入的数据发送到 dataGridView1,"category 2" 到 dataGridView2?

我知道这需要 "if, else-if" 语句,但我不确定如何根据 COMBOBOX 选择将数据定向到适当的 DGV。

我会将 ComboBox 设置为报名表上的必填字段。当用户提交条目时,它应该被路由到正确的类别。使用 ComboBox.SelectedIndex(或 .SelectedText.SelectedValue)确定哪个类别被 selected。 ComboBox.DropDownStyle 可能应该是 DropDownList 因此用户必须从列出的选项中选择 select。

如果分类发生在条目之后,那么您应该有一个执行实际分类的 ApplyCategorize 按钮。逻辑很简单:

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而不是减少代码长度和重复。

这是更好或更有效的方法吗:

if(combobox1.SelectedValue = "category1"){
     //user-entered info goes to DGV1

else if(combobox1.SelectedValue = "category2")
     //user-entered info goes to DGV2

     //.etc.