一个表单关闭 - 第二个更新DataGridView

时间:2014-03-19 20:07:58

标签: c# winforms forms

在C#上编写应用程序。 我有一个打开的Form1和一个按钮,通过单击调用Form2的打开。 我想做以下内容:当我关闭Form2时,我希望DataGridView(它是Form1的一个元素)刷新自己。 问题不在于如何更新网格。 问题是如何创建一个方法,通知Form1 Form2已关闭。 提前致谢! 这是Form2的代码。在那种情况下,Form1的代码不是必需的。

using System;`
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace cSharp_App
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

    public void button1_Click(object sender, EventArgs e)
    {
        string myConnection = Form1.myConnection;
        string qry = "insert into pst.students_info (lastname,firstname,username,password,email) values ('" + this.lastname_txt.Text + "','" + this.firstname_txt.Text + "','" + this.username_txt.Text + "','" + this.password_txt.Text + "','" + this.email_txt.Text + "') ;";
        MySqlConnection myConn = new MySqlConnection(myConnection);
        MySqlCommand cmdInsert = new MySqlCommand(qry, myConn);
        MySqlDataReader myReader;
        try
        {
            myConn.Open();
            myReader = cmdInsert.ExecuteReader();
            MessageBox.Show("Пользователь добавлен");
            while (myReader.Read())
            {

            }
        }
        catch (MySqlException ex) {
            MessageBox.Show(ex.Message);

        }

    }



}

}`

1 个答案:

答案 0 :(得分:0)

当您在Form2中打开FormClosed时,您应该订阅Form1的{​​{1}}事件。

Form frm = new Form2();
frm.FormClosed += Form2_FormClosed;
frm.Show();

刷新处理程序中的网格:

private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
    // refresh the gridview
}