Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: Refresh WinForm

  1. #1
    Ngày gia nhập
    10 2007
    Bài viết
    1

    Mặc định Refresh WinForm

    Hi all,
    Hiện tại tôi đang làm một project C# và chưa nắm rõ lắm. Tôi có một thắc mắc mong mọi người giải đáp giúp là:
    Tôi có 2 form. Một form Main chứa danh sách thông tin các bản ghi, ở đó có các button cho phép tôi mở Form 2(Dialog) để Update và Add một record mới nhưng hiện tại. Nhưng sau khi Update hay Add xong và Dialog đã đóng thì danh sách thông tin Form Main vẫn không refresh. Tôi đã dùng thử các phương thức như Refresh(), Validate(), ValidateChildren(), Update() nhưng vẫn không được.
    Nếu ai có cách nào hay thì chỉ giúp tôi.
    Cảm ơn rất nhiều

  2. #2
    Ngày gia nhập
    12 2007
    Bài viết
    6

    Mình không rõ trên Form chính bạn muốn Refresh điều khiển nào. Nhưng giả sử bạn có một DataGridView để hiện thị danh sách. Thì trong form 1 bạn sẽ phải viết một sự kiện để Load dữ liệu ra DataGridView. Trong đoạn code đó có câu lệnh DataGridView.Datasource=... Thì trong nút nhấn gọi form 2 show dialog lên. Bạn viết:
    Form2 form2 = new Form2();
    forms.ShowDialog();
    //Gọi thủ tục Load grid
    Load_DataGridView();
    Mình nghĩ vậy thôi...

  3. #3
    Ngày gia nhập
    10 2007
    Bài viết
    1

    Rất xin lỗi vì viết không chi tiết.
    Trên form 1 tôi có một TreeView ở mức 2 levels.
    NodeParent1
    NodeChild1
    NodeChild2
    NodeParent2
    NodeChild1
    NodeChild2
    ....
    Trong đó các NodeChildx là node chứa các thông tin chính.
    Sau khi bấm vào AddNodeChild Button thì sẽ hiển thị ra form (dialog) cho phép nhập dữ liệu. Sau khi Save thành công (dữ liệu đã được ghi vào file Data.xml), Dialog sẽ đóng và bản ghi mói nhập vào sẽ hiển thị trên TreeView của form 1 là việc mà tôi muốn thực hiện nhưng hiện tại không thành công.
    Đây là đoạn code mà tôi từng thử
    Visual C# Code:
    1. private void btnAdd_Click(...)
    2. {
    3.      Form2 fa = new Form2();
    4.      fa.ShowDialog() ;  
    5.      this.Refresh();
    6.      TreeView.Nodes.Clear();
    7.      LoadTreeView();
    8. }
    nhưng không thành công.
    Mong nhận được góp ý tiếp của mọi người.

    ------------------------------------------------------------------
    Chú ý cách trình bày bài viết, cho code vào tag code, nên sử dụng code nâng cao - Sunflower
    Đã được chỉnh sửa lần cuối bởi sunflower : 04-04-2008 lúc 04:00 PM. Lý do: nhắc nhở

  4. #4
    Ngày gia nhập
    06 2007
    Nơi ở
    TP.HCM
    Bài viết
    113

    Bạn mô tả lại đoạn code nhưng cũng chưa được rỏ ràng. Trong đoạn code trên bạn gọi form nhập dữ liệu là form2, nhưng chưa biết bạn cập nhật treeview trên form 1 sau khi dữ liệu được thêm thành công ở form2 như thế nào. Và cũng không hiểu bạn dùng this.refresh() để làm gì trong khi form2 chỉ show mà chưa thực thi dữ liệu. Cũng tương tự với LoadTreeView.

    Có lẽ mình hiểu ý bạn và mình cho giải pháp thế này:
    Lúc click addnode thì chỉ gọi form2 show thôi. Trên form2 sẽ có button thêm dữ liệu, lúc đó mới cập nhật lại treeview trên form1 (và để làm được điều này cũng cần bạn truyền được giá trị giữa các form). Lúc cập nhật lại treeview thì có nhiều cách để cập nhật.

    Cách 1 theo như bạn trình bày thì chắc dữ liệu sẽ được ghi xuống file sau đó load lại dữ liệu từ file (cách làm này sẽ ko phù hợp với lượng mẫu tin lớn).

    Cách thứ 2 là bạn có thể thêm dữ liệu. Sau khi xác định được thêm dữ liệu thành công bạn chỉ cần addnode vừa thêm vào vị trí thích hợp trên treeview (cách này chỉ cập nhật một phần trên treeview).

    Gác Kiếm

  5. #5
    Ngày gia nhập
    10 2007
    Bài viết
    1

    Rất cảm ơn tinhnd và SunFlower đã có ý kiến phản hồi. Tôi đã làm theo cách SunFlower gợi ý và đã thực hiện thành công việc Refresh bằng cách sử dụng Delegate để truyền dữ liệu giữa các form và đã thể hiện được thông tin đúng theo yêu cầu mong muốn.
    Thanks and best regards.

  6. #6
    Ngày gia nhập
    09 2011
    Bài viết
    0

    Mặc định Refresh dữ liệu trên UserControl sau khi Click Button

    Em có 1 form gồm TolStripButton và 6 tab nhỏ chứa những TabControl.
    Sau khi em xử lý dữ liệu trên phím TolStripButton thì dữ liệu Database đc Update
    nhưng dữ liệu trên các tab control thì ko biết Refesh đc.
    Các bác giúp em với


    Các Bro đâu hết rui`ko ai giúp em à!!!!!!!!!
    Đã được chỉnh sửa lần cuối bởi gaukon89 : 09-09-2011 lúc 11:12 AM.

Các đề tài tương tự

  1. Phân trang trong winform - Paging in winform. Hướng dẫn chi tiết + Source code
    Gửi bởi hu-xeko trong diễn đàn Tutorials và Thủ thuật lập trình C#, ASP.NET
    Trả lời: 23
    Bài viết cuối: 19-09-2014, 07:38 PM
  2. Làm sao truyền giá trị từ winform sang webform và lấy giá trị trả về cho winform
    Gửi bởi dl_kidder trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 18-12-2012, 10:10 PM
  3. Cách viết nút Refresh trên form cha để refresh trên form con
    Gửi bởi chitviv trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 19-10-2011, 10:28 PM
  4. Kỹ thuật C++ Winform C++ | Tạo module xử lý giao diện Winform trong C++ như thế nào?
    Gửi bởi likhungma trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 04-10-2011, 05:45 PM
  5. Làm sao cứ mỗi giây là refresh 1 lần
    Gửi bởi Broly trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 30-03-2011, 02:55 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn