在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);
}
}
}
}`
答案 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
}