目前还在苦逼的折腾练手作,碰到了关于生成窗体和传值的需求
首先是生成窗体的需求:
首先,首页有众多按钮,都是用来指向各个功能窗口的,一个个是编写代码的话,太麻烦了;
其次,设计一个通用的筛选窗口,给不同的数据表界面进行查询筛选,在编写查询条件时,要给一些项目比较多的字段提供一个浏览查询功能,同样需要动态生成窗体……
这个需求倒是挺容易就找到了解决方案,直接贴出代码以供参考
string strForm = (sender as Button).Tag.ToString();//我在设计界面里,已经将每个按钮的tag填好了需要创建的窗口类名
object[] obj = new object[1] { sqlcon };//我传了个mysql连接字符串,显然,在调用的窗口类里,需要写一个相应的构造函数,这个就不必展示了吧
Form form = GetInstance(strForm, obj) as Form;//调用下面的那个方法
form.show();
//以上是我写在二十多个按钮共同的click事件方法里的创建窗口代码
///这个方法,或者说这里面的这句代码,是关键所在
public static object GetInstance(string instanceName, params object[] param)
{
return Assembly.Load(Assembly.GetAssembly(typeof(Index)).GetName().Name).CreateInstance(typeof(Index).Namespace + "." + ins