Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 14 kết quả

Đề tài: Giao tiếp đồng bộ giữa các form

  1. #1
    Ngày gia nhập
    01 2011
    Bài viết
    18

    Mặc định Giao tiếp đồng bộ giữa các form

    Giả sử có 1 form main và 1 subform, khi subform (vẫn đang chạy) nhưng có 1 sự kiện xảy ra thì bên main form xử lí thế nào để biết được.?

    Mình có thử set 1 phương thức bên mainform với modifier là public, ở subform khi xảy ra sự kiện thì gọi nó nhưng cũng là xử lí 1 chiều và rất rắc rối trong việc quản lý đồng thời nhiều subform.

  2. #2
    Ngày gia nhập
    10 2009
    Nơi ở
    gầm cầu
    Bài viết
    156

  3. #3
    Ngày gia nhập
    01 2011
    Bài viết
    18

    Cảm ơn bạn đã reply, đúng là biết delegate đã lâu nhưng để sử dụng uyển chuyển thì khó thật.
    Mình nêu vấn đề trực tiếp của mình lên đây, bạn xem có giải pháp nào ổn thỏa không, mình rối quá rồi

    Về việc xử lí nhiều subform nhưng cùng 1 dạng, mình làm như sau :
    Visual C# Code:
    1. List<SubForm> subList = new List<SubForm>();
    2.  
    3. //Khi new subform
    4. subList[subList.Count] = new SubForm();
    5. //Hiển thị đã new lên chưa ở trong 1 listview

    Vậy nếu dùng delegate như ở trên thì làm sao để xác định sự kiện đó xảy ra trên subform nào ? Mình thử dùng tham số SubForm trong delegate và this trong subform nhưng không được.

    Tóm lại ý mình muốn hỏi là làm sao để nhận biết sự thay đổi trên từng subform riêng biệt ?
    Đã được chỉnh sửa lần cuối bởi lovezee : 17-02-2013 lúc 04:50 PM.

  4. #4
    Ngày gia nhập
    07 2010
    Bài viết
    99

    Rất đơn giản, dùng event là xong ngay

    Có project demo như sau, hy vọng là đúng ý bạn :

    Mình có MainForm và SubForm :





    Khi nhấn nút "Tạo form mới", 1 SubForm được sinh ra. Người dùng sẽ soạn thảo text trên SubForm này và nhấn nút Send. Mọi thao tác này sẽ được ghi nhận và cập nhật ở listview của MainForm. Khi SubForm đóng, status của form đó cũng dc cập nhật trên listview.





    Project demo :
    Attached Files Attached Files
    Never try, never know

  5. #5
    Ngày gia nhập
    01 2011
    Bài viết
    18

    Tuyệt vời thật, ước gì có nút cảm ơn để cám ơn 2 bạn ngay bây giờ

  6. #6
    Ngày gia nhập
    02 2013
    Bài viết
    1

    Mặc định Giao tiếp đồng bộ giữa các form

    hay thật ^^ cám ơn bạn nhiều sao mà mình ko thấy nút thanks nhỉ

  7. #7
    Ngày gia nhập
    10 2009
    Nơi ở
    gầm cầu
    Bài viết
    156

    Mình ko mạnh mẽ dùng dc event .mình dùng delegate truyền thống cây nhà lá vườn cho nó gần gũi
    Attached Files Attached Files

  8. #8
    Ngày gia nhập
    01 2011
    Bài viết
    18

    Toàn những thứ gần gũi không ấy chứ, chưa áp dụng bao giờ hôm nay mới nhìn demo mà giật mình

    @Doveandrose cho mình xin email hoặc yahoo mình học hỏi được không, có nhiều vấn đề mà post lên nhiều khi không có người trả lời rất mất thời gian :(

  9. #9
    Ngày gia nhập
    07 2010
    Bài viết
    99

    Trích dẫn Nguyên bản được gửi bởi doveandrose Xem bài viết
    Mình ko mạnh mẽ dùng dc event .mình dùng delegate truyền thống cây nhà lá vườn cho nó gần gũi
    Thực ra event và delegate chẳng phải thứ j cao siêu đâu. delegate sinh ra để phục vụ cho event mà. ngoài ra còn có 1 số ứng dụng khác của delegate.

    Nếu thích, mời các bạn vào blog của mình xem và thảo luận nhé :
    http://csharpviet.wordpress.com
    Never try, never know

  10. #10
    Ngày gia nhập
    01 2011
    Bài viết
    18

    1 - Cho mình hỏi thêm vấn đề nữa, như trong demo trên làm thế nào để từ mainform ta close được subform, hoặc tương tác với 1 subform xác định qua contextmenu trên listviewitem ? Mình nghĩ là nên gán định danh cho subform qua ID nhưng không biết cách làm

    2 - Mình dùng 2 sự kiện actived và deactive như trên, khi active sẽ liên tục chụp hình subform đang active trong 1 timer và gửi về mainform, khi deactive thì timer sẽ tắt nhưng chiếm ram rất dữ dằn, cứ như là những ảnh chụp được gán vào 1 pictureBox ở mainform không được dispose vậy, mình thử dispose ảnh sau khi gán nhưng bị lỗi. Mình thiết nghĩ những biến (ảnh được khởi tạo trong 1 function, hết hàm nó phải tự dispose đi chứ nhỉ, nhưng mình để trong khoảng 1p cho subform active - đồng nghĩa nó liên tục gửi ảnh về main form trong mỗi timer interval 100ms thì mức độ chiếm ram lên 2GB, khi deactive (không gửi ảnh nữa) mức chiếm ram vẫn không giảm, chỉ có tắt subform đi thì nó mới thụt xuống thôi.
    Vậy phải làm sao để nó tự dispose ảnh đó đi ?
    Đã được chỉnh sửa lần cuối bởi lovezee : 18-02-2013 lúc 09:50 AM.

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

  1. Giáo viên nhận dạy kèm tiếng anh giao tiếp tại TPHCM hoặc Toeic
    Gửi bởi phi60801530 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 1
    Bài viết cuối: 11-02-2017, 09:10 PM
  2. Làm sao để ASP.NET giao tiếp với Win Form?
    Gửi bởi xuantien0215 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 2
    Bài viết cuối: 09-05-2013, 12:40 PM
  3. xin giải pháp Kích thước form trên windows form và webform
    Gửi bởi billsang trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 1
    Bài viết cuối: 07-11-2011, 11:16 PM
  4. ADO.NET Giải pháp Click đối tượng,hiển thị form thông tin chi tiết về đối tượng-CSDL
    Gửi bởi billsang trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 19-04-2011, 07:41 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