如何以一种形式从另一种形式重新加载组合框项目

时间:2018-10-11 20:05:56

标签: c#

我有两个窗口表单,Form1代表国家名,Form2代表城市名。在form2中,我有一个comboBox,它可以从由Form1保存的数据库中获取国家/地区名称,并且可以正常工作并正确获取数据。但是我想要像comboBox旁边的按钮 please see this image for better understanding, 当单击它时,按钮将打开Form1,当我在Form1中添加新的国家/地区时,Form2中的comboBox应该得到更新,Form1应该关闭。这该怎么做?我的代码是...

在Form2中(用于城市名称)

private void addBtn_Click(object sender, EventArgs e)
    {
        Add_Country ac = new Add_Country();
        ac.ShowDialog();
    }

public void refreshComboBox()
    {
        comboBox_CountryName.Refresh();
    }

在Form1(用于国家/地区名称)

private void saveBtn_Click(object sender, EventArgs e)
    {
        string country = txtBox_countryName.Text.ToLower();
        insertCountry(country);
        showCountry();
        Add_City ad = new Add_City(); //Form2 object refrence.
        ad.refreshComboBox();
        this.Close();
        MessageBox.Show("Country added successfully.");
        clearControl();
     }

2 个答案:

答案 0 :(得分:1)

关闭ac.ShowDialog()表单后,行Add_Country可以帮助您处理。因此,您可以在refetch行之后的countriesdatabase ShowDialog,例如;

private void addBtn_Click(object sender, EventArgs e)
{
    Add_Country ac = new Add_Country();
    ac.ShowDialog();
    // Repopulate the Country Combobox 
}

答案 1 :(得分:0)

在showdialog()刷新组合后,在form2中

您无需以第一种形式刷新它

private void addBtn_Click(object sender, EventArgs e)
{
    Add_Country ac = new Add_Country();
    ac.ShowDialog();
    refreshComboBox()
}

当您关闭对话框时,运行时光标将返回到form2并执行另一个故事