Firs, bọc mã làm mới của bạn thành một phương thức của riêng nó và gọi phương thức đó từ phương thức xử lý sự kiện nhấp chuột của bạn, như sau:
private void btnRefresh_Click(object sender, EventArgs e)
{
this.RefreshData();
}
public void RefreshData()
{
GVThesis.DataSource = thesisRepository.GetThesis();
GVThesis.Refresh();
}
Sau đó, giả sử bạn đang khởi tạo và khởi chạy biểu mẫu mới (Form2) từ Form1 của mình, chỉ cần đi vào mã của Form2 và tạo cho mình một quá tải hàm tạo mới sẽ chấp nhận một tham chiếu đến Form1 và lưu trữ nó trong một biến riêng, như vậy :
public partial class Form2 : Form
{
private Form1 frm1;
public Form2()
{
InitializeComponent();
}
public Form2(Form1 otherForm)
{
InitializeComponent();
this.frm1 = otherForm;
}
}
Sau đó, bạn có thể gọi "refresh" từ bất kỳ nơi nào bạn thích trong Form2 như sau:
this.frm1.RefreshData();
CHỈNH SỬA:
Tôi đã tạo một mẫu nhỏ, tôi không thể tải nó lên đây ... nhưng đây là ảnh chụp màn hình của cả chương trình trong VS, cũng như ảnh chụp màn hình của kết quả chạy nó và thực hiện chức năng ... hy vọng điều đó sẽ hữu ích.
Chương trình (thu phóng chế độ xem của bạn nếu nó xuất hiện quá nhỏ)
Kết quả: