Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Cách Tắt form 2 thì Form 1 refest dữ liệu

23:12 27-04-2017 3.975 lượt xem 10 bình luận 11:04 26-11-2018

Mình có 2 form...... Form 1 có 1 treeview chứa các phòng. Mình có 1 button ở form1 khi nhấp nó sẽ sang form 2

Ở form 2 mình cập nhật phòng(thêm phòng). Khi thêm thành công, thì mình phải tắt chương trình, chạy lại thì treeview ở form1 nó mới cập nhật. K9 cho mình hỏi, có cách nào khi thêm thành công ở form2, mình đóng form2 thì form1 refest dữ liệu không vậy ?

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
ngoviet8041 đã bình luận 11:04 26-11-2018

bạn thienlongha giải ra được chưa?

thienlongpha đã bình luận 17:51 28-04-2017

ok mình cảm ơn mọi người ạ

Trần Thành Vi Thanh Member đã bình luận 12:38 28-04-2017

Bạn có thể dùng delegate (uỷ quyền) để làm điều này. Code mình chỉ minh hoạ bạn tự điều chỉnh cho phù hợp.

Form 1:

// Hàm cập nhật tree view
void UpdateTreeView(<tham số chứa thông tin phòng>)
{
      // thực hiện update treview bla bla
}

// Trong sự kiện click của button thêm phòng
void ThemPhong()
{
    Form2 fm2 = new Form2();

    // cấp phát vùng nhớ cho delegate và truyền vào tên hàm cần uỷ quyền
    fm2.UpdateForm1 = new Form2.Update(UpdateTreeView); 
    
    fm2.Show();
}

 

Form 2:

// Tạo 1 delegate tên Update
public delegate void Update(<tham số chứa thông tin phòng>);

public Update UpdateForm1;

// Trong sự kiện Form_Closing
void Closing()
{
    // Gọi delegate truyền vào thông tin phòng để form 1 cập nhật
    // Việc gọi delegate này sẽ gọi đến hàm UpdateTreeView nằm ở form 1.
    // Đây cũng là cơ chế của uỷ quyền.
    UpdateForm1(<tham số chứa thông tin phòng>);
}

 

thienlongpha đã bình luận 12:24 28-04-2017

Em hiểu ý anh ...Nhưng ở form1 em lấy dữ liệu từ phòng học của sql để load lên treeview của form1... Ở form2 em có 1 datagirdview cũng như treeview em cũng load phòng học từ sql lên, nhưng ở form1 chỉ là hiển thị, còn form2 em có thêm 1 chức năng là thêm phòng, rồi sau đó nó lưu xuống sql. Thì khi chạy lại chương trình thì form1 hiện ra danh sách phòng + phòng vừa cập nhật. Nhưng như vậy thì bất tiện.... em muốn là khi thêm thành công form2 , tắt form 2 thì form1 sẽ load danh sách phòng + phòng vừa cập nhật...

thienlongpha đã bình luận 11:48 28-04-2017

Mình không hiểu ! K9 giải thích chi tiết hơn được không ?

Câu hỏi mới nhất