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
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 !
Tạo 1 biến static cho thằng con
Sau đó sài:
form.BienStatic = "cái chuỗi cần thêm";
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 ?