Một vấn đề rất hay gặp đó là việc truyền dữ liệu giữa các Form, các bạn mới nghiên cứu về .NET thường gặp khó khăn khi làm việc này, có nhiều cách để thực hiện tuy nhiên sử dụng biến Static hoặc Delegate và Event là những cách hay được sử dụng. Tuy nhiên
dùng Delegate và Event là cách phổ biến nhất và cũng đòi hỏi những kiến thức nhất định về Delegate và Event.
Chào Cione! Mình đã làm theo video hướng dẫn của Cione! Và đã làm được, tương tự như trường hợp của Video Demo trên.
Nhưng sau đó, trên frmMain(là form có menustrip hoặc các button để gọi các form khác nữa như: frmLogin,frmHoaDon, frmBanHang,...)
Lần đầu,
trong event Form _ Load của frmHoaDon, mình cũng gọi Delegate - Event như trong frmMain.
private void frmHoaDon_Load(object sender, EventArgs e)
{ frmLogin dn = new frmLogin(); dn.Name =
Chào Cione!
Mình đã làm theo video hướng dẫn của Cione!
Và đã làm được, tương tự như trường hợp của Video Demo trên.
Nhưng sau đó, trên frmMain(là form có menustrip hoặc các button để gọi các form khác nữa như: frmLogin,frmHoaDon, frmBanHang,...)
Lần đầu, trong event Form _ Load của frmHoaDon, mình cũng gọi Delegate - Event như trong frmMain.
private void frmHoaDon_Load(object sender, EventArgs e) {
frmLogin dn = new frmLogin(); dn.Name =
Thầy ơi:em có MDI và các Form con hiển thị trong MDI.Em có 2 Form Gỉang Viên và Sinh Viên,mỗi table đều có TenDN,MK riêng
VD: A đăng nhập với TenDN,MK của A(Sinh Viên) thì chỉ có button Xem của Form Sinh viên là hiện còn các button của Form SV và Form Gỉang Viên ẩn đi
Cụ thể:
-Gỉang Viên : chỉ có thể xem,sửa điểm của SV
-Sinh Viên: chỉ được Xem chứ không được làm j khác
Nhưng khi em viết hàm này ở MDI để xử lý cho Form Đăng Nhập :
void An()
{
btnThem.Enable=false;
.............................................// thì tên button mà em cần gọi không hiện ra }
Vì giữa MDI và các Form con không có liên kết với nhau
Thầy có thể giúp em ,khi đăng nhập thì chỉ hiện button ứng với chức năng của từng đối tượng.Khi Đăng xuất thì tất cả các button của 2 Form con
Nhưng khi em làm chỉ có button MDI ẩn còn các button 2 Form không ẩn
Nếu được thì thầy gừi link hướng dẫn cho em nhe: tinhdoncoi902@yahoo.com
CẢM ƠN thầy nhiều
Chào bạn,
Nhu cầu này rất thực tế khi phát triển ứng dụng, cách mà để bạn phân quyền là khi bạn mở Form đó lên thì mới kiểm tra xem user hiện tại đang có quyền gì rồi mới xử lý ẩn hoặc hiện, do đó cách bạn làm thì nó sẽ khác với cách dùng event như trong video demo.
Như vậy tóm lại là bạn sẽ phải kiểm tra ẩn hiện trong hàm Form Load chứ không viết trong frmMain.
Em có câu hỏi,đó là làm cách nào mà khi ta show 1 form dialog ra rồi form đó mới bắt event?
Ví dụ :
Khi Click button ta tạo ra 1 form mới mà form này sẽ bắt event từ from cha.
em có thử nhưng form mới tạo ra thì sự kiện đã chấm dứt nên form mới tạo ra không bắt dc event
nhưng ở Form mới tạo ra rồi thì event ở Form main đã hết nên tại form main nó không gọi được hàm trên Form con.
Ý em là khi ta tạo 1 sự kiện như là click button thì nó tạo ra 1 form mới kèm theo dữ liệu trong event nhưng khi tạo ra form mới thì cũng hết event cho dù Form main em đã cho nó tạo Form mới rồi mới cho chạy hàm trên Form mới,nhưng khi tạo ra Form mới là sự kiện hết luôn,không truyền dc
Anh có thể nói rõ thêm không,em vẫn chưa hiểu ý của anh cho lắm
Nếu trong form cha, bạn mở form con lên và muốn truyền dữ liệu cho form con thì bạn chỉ việc tạo một biến trên form con và gán dữ liệu vào biến đó.
Ví dụ sau:
void btnClick(object sender, eventagr e)
{
frmCon con=new frmCon();
con.Data=this.DataSource; //DataSource là dữ liệu cần truyền vào form con.
con.Show(); }
Hi các bạn!Để đáp ứng nhu cầu của các bạn về ứng dụng web,lâp các forum,phần mềm, thiết kế banner web(Photoshop, flash).....Mình sẽ giúp các bạn với chi phí rất ít và theo yêu cầu của các bạn. Về web: -Các Ứng dụng web -Lập các forum theo yêu cầu với domain
.com,.net...... -Thiết kế banner tĩnh,động bằng photoshop,flash... -Bảo trì website miễn phí trong 1 thời gian nhất định ............ Các bạn nếu có nhu cầu thì contact với mình qua: Y!M:thienthantuyetit Mail:nguyenvanphanit@gmail.co