日期:2014-05-17  浏览次数:20957 次

如何用函数实现这个打开窗体的简单功能??
一个窗体上有许多的button,每一个button的Text代表要打开窗体的名字,现在想写一个通用的函数,只要将button的Text传过去就可以打开相应的窗体,这个函数应该怎么实现?应该很简单吧?但我是菜鸟,C#的居然不会写,汗。请高手指教

C# code


//有很多个这样的button,或者能否写一个通用的事件来处理?
 private void btn1_Click(object sender, EventArgs e)
        {
            showForm(this.btn1.Text);
        }


private void showForm(string FormName)
        {

            //这个函数应该怎么写呢?
        
        }





------解决方案--------------------
利用反射
C# code

private void showForm(string FormName)
 {
            string namespace_str="TestCsdnWindows.";//注意加上窗体所在的命名空间
            string name =namespace_str + FormName;//
            Type t = Type.GetType(name, true);
            Form frm = (Form)Activator.CreateInstance(t);
            frm.Show();
}

------解决方案--------------------
探讨
一个窗体上有许多的button,每一个button的Text代表要打开窗体的名字,现在想写一个通用的函数,只要将button的Text传过去就可以打开相应的窗体,这个函数应该怎么实现?应该很简单吧?但我是菜鸟,C#的居然不会写,汗。请高手指教

C# code


//有很多个这样的button,或者能否写一个通用的事件来处理?
private void btn1_Click(object……