关闭对话框表单时刷新Winform ComboBox数据源

bit

我有一个设置表单,上面有一个组合框,用数据库中的分区填充。该组合框旁边有一个“新”按钮,用户可以单击该按钮来创建新的部门。

单击“新建”按钮后,将弹出一个对话框,供用户输入并保存新的部门。我希望对话框对话框关闭时可以刷新设置表单上的组合框,但似乎无法理解。

我创建了一个函数来填充组合框:

        private void fillDivisionsCmboBox()
    {
        Divisions divs = new Divisions();
        DataTable dt = new DataTable();

        //FILL DIVISIONS DROP DOWN
        dt = divs.GetActiveDivisions();

        if (divs.Error != null)
        {
            MessageBox.Show("Error: " + divs.Error,
                "Error",
                MessageBoxButtons.OK,
                MessageBoxIcon.Error,
                MessageBoxDefaultButton.Button1);
        }
        else if (dt.Rows.Count <= 0)
        {
            MessageBox.Show("Error: No Divisions returned. Please create divisions with the \"New\" button.",
                "Divisions: Empty Reuturn",
                MessageBoxButtons.OK,
                MessageBoxIcon.Exclamation,
                MessageBoxDefaultButton.Button1);
        }
        else
        {
            this.cmbo_divisions.DataSource = dt;
            this.cmbo_divisions.DisplayMember = "title";
            this.cmbo_divisions.ValueMember = "ID";
            this.cmbo_divisions.SelectedIndex = -1;
            this.cmbo_divisions.Text = "Select a Division";

            //HANDLE UI VISIBILITY
            this.grp_divSettings.Visible = false;
        }
    }

我在设置表单的Activated事件中调用它:

    private void frm_settings_Activated(object sender, EventArgs e)
    {
        fillDivisionsCmboBox();
    }

在这里,我通过新按钮调用对话框表单:

        private void btn_new_division_Click(object sender, EventArgs e)
    {
        Form newdiv = new frm_new_division();
        newdiv.ShowDialog();
    }

我这样做是希望它在关闭对话框时会刷新组合框,但是在关闭对话框时不会触发激活的事件...如何在关闭对话框时刷新组合框盒子?

感谢您的时间

格兰特·温尼

当您将第二个窗体显示为模式对话框时,第一个窗体中的代码将暂停执行。

因此,只需fillDivisionsCmboBox()在显示第二个Form之后立即调用即可,而不是在Form.Activated事件中调用,它将在用户关闭Form时运行。

private void btn_new_division_Click(object sender, EventArgs e)
{
    using (var newdiv = new frm_new_division())
        newdiv.ShowDialog();

    fillDivisionsCmboBox();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

即使数据源为空,用数据源刷新Windows窗体中的ComboBox仍保留值

来自分类Dev

如何使用AngularJs刷新/重新加载Kendo comboBox数据源?

来自分类Dev

如何使用AngularJs刷新/重新加载Kendo comboBox数据源?

来自分类Dev

使用 PowerShell 将数据源添加到 ComboBox 时出错

来自分类Dev

关闭数据源并使用游标

来自分类Dev

Hibernate数据源连接未关闭

来自分类Dev

数据源在循环时跳过项目?

来自分类Dev

托管的ODP.NET驱动程序未显示在“数据源”对话框中

来自分类Dev

如何刷新列表框的数据源

来自分类Dev

开始输入后关闭Firebird数据源表单

来自分类Dev

当数据源是数组时,jQuery DataTables 刷新网格

来自分类Dev

为什么查询中的数据源处理与表单中的数据源处理不同?

来自分类Dev

字典作为ComboBox的数据源

来自分类Dev

kickout.js新数据源刷新html

来自分类Dev

如何使用webmethod数据源刷新jQuery Datatable?

来自分类Dev

如何在DevExtreme菜单上刷新数据源

来自分类Dev

如何关闭数据源mysql-connection

来自分类Dev

如果提供给 Jdbc 类,则关闭数据源

来自分类Dev

使用字典作为组合框数据源

来自分类Dev

将组合框元素绑定到数据源

来自分类Dev

SmartGWT数据源过滤组合框问题

来自分类Dev

使用长数据源设置组合框

来自分类Dev

将组合框元素绑定到数据源

来自分类Dev

在ListView中使用数据源设置组合框的值

来自分类Dev

SmartGWT数据源过滤组合框问题

来自分类Dev

填充组合框后解除绑定数据源

来自分类Dev

数据源用尽时如何停止火花流

来自分类Dev

在CrystalReport中分配数据源时发生FileNotFoundException

来自分类Dev

Weblogic-启动时忽略数据源错误

Related 相关文章

热门标签

归档