处理表单加载事件

本文关键字:事件 加载 表单 处理 | 更新日期: 2023-09-27 18:17:39

有没有办法避免表单?激活或形成第一次装??我有一个按钮在主形式打开一个新的形式,在其中我输入一个名字…这个名字是指向一个数据库。主表单包含一个组合框,其中列出添加到数据库中的所有名称。现在. .当添加新名称时,我需要更新组合框数据。

作为FORM1是我的主要形式,我需要保持我的组合框也有更新…所以我已经调用了在init调用中更新cmbobox的方法。

但是这不会在添加新名称时更新框。当我在formload事件中调用该方法时,组合框会显示重复的条目。

这是我的代码…

  private void listdata() 
    {
        SqlConnection a = new SqlConnection(str);
        a.Open();
        SqlCommand b = new SqlCommand();
        b.Connection = a;
        b.CommandType = CommandType.StoredProcedure;
        b.CommandText = "getname"; 
        SqlDataAdapter c = new SqlDataAdapter(b);
        DataTable d = new DataTable();
        c.Fill(d);
        foreach (DataRow m in d.Rows)
        {
            foreach (DataColumn n in d.Columns)
            {
                lst_name.Items.Add(m[n].ToString());
            }
        }
    }

这是在调用init的主要形式…当主表单加载时,我需要在组合框中的数据。

当添加按钮被点击时;

NewEntry x = new NewEntry();
        x.ShowDialog();

这个名为newentry的表单将数据添加到数据库中,该数据库用于填充主表单上的组合框。

现在我需要主表单上的组合框在"newentry"表单关闭时更新。

处理表单加载事件

在你的情况下,不清楚事件的流程是什么。
但是对于你的双项问题,一个简单的答案可以是一个简单的

    lst_name.Items.Clear();

,然后运行插入名称

的循环
    foreach (DataRow m in d.Rows)
    {
        foreach (DataColumn n in d.Columns)
        {
            lst_name.Items.Add(m[n].ToString());
        }
    }