Assembly asm = Assembly.Load("Fastyou.BookShop.Win");
object frmObj = asm.CreateInstance("Fastyou.BookShop.Win." + formName);
Form frms = (Form)frmObj;
//我要打开的窗口是有参数的,现在怎么把参数传进去?
//如果不是动态生成菜单的事件是可以这么写
//MyForm frms=new MyForm("传入的参数");
//可是现在是动态生成的菜单的事件只能这杨Form frms = (Form)frmObj;可只能打开无参数的窗口
frms.MdiParent = this;
frms.Show(); 怎么动态打开可以传参数的窗口?各位高手指教!用来救命的!!!
object frmObj = asm.CreateInstance("Fastyou.BookShop.Win." + formName);
Form frms = (Form)frmObj;
//我要打开的窗口是有参数的,现在怎么把参数传进去?
//如果不是动态生成菜单的事件是可以这么写
//MyForm frms=new MyForm("传入的参数");
//可是现在是动态生成的菜单的事件只能这杨Form frms = (Form)frmObj;可只能打开无参数的窗口
frms.MdiParent = this;
frms.Show(); 怎么动态打开可以传参数的窗口?各位高手指教!用来救命的!!!
解决方案 »
- C# 颜色位数
- 使用IDE的问题,郁闷中...
- 异步Socket Server端 Client端,已经做成Winform 的Control要的留个mail
- 怎样在单击事件里datagrid中的一个列的值乘一个固定值存到另一个列里啊?
- ListItem的问题
- C#高级编程的书
- 关于ftp客户端的两个问题,我还有1100可用分,问题得到解决后想要多少您说话。
- WinForms下的datagrid
- 请问如何在combobox中设置高亮选中备选项
- 使用c#定制一个可视化控件时,出现错误:呈现该控件时出错,请检查并确保所有属性都有效。
- aspnet 做的程序怎样分配权限给角色?
- (B/S)关于TreeView的用法
using System;
using System.Collections.Generic;
using System.Text;namespace ClassLibrary1
{
public class Class1
{
private string m_str; public string ReturnString
{
get { return m_str; }
} public Class1()
{ } public Class1(string str)
{
m_str = str;
}
}
}//一个通过反射动态加载类库的窗体
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Reflection;namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
//获取程序集
Assembly asm = Assembly.LoadFrom(@"D:\WindowsApplication1\ClassLibrary1\bin\Debug\ClassLibrary1.dll");
//获取类型
Type type = asm.GetType("ClassLibrary1.Class1");
//获取调用有参构造函数对象(其实这里返回的是一个System.Runtime.Remoting.ObjectHander对象的引用,派生自System.MarshalByRefObject)
object o = Activator.CreateInstance(type, "有参构造函数");
//调用Class1类的ReturnString属性
PropertyInfo pi = type.GetProperty("ReturnString", typeof(string));
//获取属性值
string s = pi.GetValue(o, null).ToString();
MessageBox.Show(s);
}
}
}