【问题标题】:How to reload combobox items in one form from another form如何从另一个表单重新加载一个表单中的组合框项目
【发布时间】:2018-10-11 20:05:56
【问题描述】:

我有两个窗体,Form1 是国家名称,Form2 是城市名称。在 form2 中,我有一个组合框,它从 Form1 保存的数据库中获取国家名称,它工作正常并正确获取数据。但我想在组合框旁边有一个按钮,比如 please see this image for better understanding, 当点击它按钮将打开 Form1 并且当我将在 Form1 中添加一个新国家时,Form2 中的组合框应该得到更新并且 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();
     }

【问题讨论】:

  • 您可以在表单关闭事件中调用您的填充组合方法

标签: c#


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    在 showdialog() 刷新组合后的 form2 中, 第一种形式不需要刷新

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

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

    【讨论】:

      猜你喜欢
      • 2013-02-22
      • 1970-01-01
      • 1970-01-01
      • 2021-09-11
      • 1970-01-01
      • 2012-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多