Camarades,
我有一个WindowForm应用程序,它包含多个表单,每个表单都有一个特定的名称。好吧,我想开发一个管理这些窗口创建的类,通过参数类型的屏幕(她的名字),系统为我创建一个...
我正在考虑MenuItem中的属性“AcessibleName”,把我想要的类的名称。然后单击每个项目,系统将执行以下验证
private void mnMenu_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
try
{
if (!String.IsNullOrEmpty(((MenuStrip)sender).AccessibleName))
{
string[] _Parametros = ((MenuStrip)sender).AccessibleName.Split(uConstantes.CtSeparadorMenu);
uMenu.CreateWindow(((MenuStrip)sender).AccessibleName, _Parametros);
}
}
catch (uException __Excp)
{
throw __Excp;
}
}
uMenu.CreateWindow,在类中,我会收到参数并实例化一个新对象,然后显示它。有谁有想法吗?反思解决了这个问题? (不幸的是,我对反思知之甚少)
由于
答案 0 :(得分:2)
我会查看Activator.CreateInstance
方法,专门针对您所要求的内容。
但是,我倾向于询问是否有必要(根据您提供的信息)。假设您有一个包含3个项目的菜单。当用户单击MenuItem1时,它们将显示Form1。同样,MenuItem2-> Form2和MenuItem3-> Form3。为什么不直接启动表单?这为您提供了什么好处?
答案 1 :(得分:0)
实际上,我做错了什么。我需要输入Window的名称,包括其完整路径(名称空间)。然后,该命令将起作用,并且将识别该类型。
谢谢大家。