Hỏi đáp

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

Menu động: Truyền tham số cho form con

7 năm trước 566 lượt xem 2 bình luận 7 năm trước

Chào bạn Long và ACE Kteam !

Mình đang tạo menu động được tải lên từ database. Chương trình chạy bình thường. Nhưng vấn đề là mình không biết cách tiêm tham số vào cho form con. Dưới đây là thủ tục:

        private void Mn_Click(object sender, EventArgs e)
        {
            if(sender is ToolStripMenuItem)
            {
                var mn = sender as ToolStripMenuItem;
                if (mn.Tag != null)
                {
                    if(mn.Tag is Menu)
                    {
                        var menu = mn.Tag as Menu;
                        switch (menu.Code)
                        {
                            case "Exit":
                                Close();
                                break;
                            default:
                                ExecuteMenu(menu);
                                break;

                        }
                    }
                }
            }
        }

        public void ExecuteMenu(Menu menu)
        {
            try
            {
                Assembly assembly = Assembly.LoadFrom(Application.StartupPath + '\\' + menu.DllName);
                if (assembly == null)
                {
                    MessageBox.Show("Không tìm thấy thư viện " + menu.DllName,"THÔNG BÁO");
                    return;
                }
                Type type = assembly.GetType(menu.NameSpace + '.' + menu.FormName);
                if (type == null)
                {
                    MessageBox.Show("Không tìm thấy đối tượng trong thư viện " + menu.FormName, "THÔNG BÁO");
                    return;
                }
                Form form = (Form)Activator.CreateInstance(type);
                form.Text = menu.Name;
                form.Tag = menu;
                if(menu.Para.ToString() != "")

              {

                    //Tiêm tham số menu.Para.ToString() vào form con

               }
                form.Show();
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

Xin các bạn chỉ giúp !

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
K9 SuperAdmin, KquizAdmin, KquizAuthor đã bình luận 7 năm trước

Tạo 1 biến static cho thằng con

Sau đó sài:

form.BienStatic = "cái chuỗi cần thêm";

doanbg2009 đã bình luận 7 năm trước

Cám ơn bạn KLong. Vậy là trong trường hợp này không thể dùng cách tiêm tham số vào form con qua hàm constructor ?

Bài viết
0
Câu hỏi
6
Bình luận
12

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