100个按钮 b1 b2 b3 ... b100 所有按钮的单击事件被绑定到一起了
100个窗体 f1 f2 f3 ... f100 名字已经存储到 字符串数组 N[100] 里面了。int i;
i=Int32.Parse (((Button)sender).Name .Substring (1,1));//得到按钮 idN[i] aa = new N[i]();//关键是这句应该如何写?
aa.show();谢谢高手!

解决方案 »

  1.   

    Form1[]=new Form1[100];Form1[i].Show();
      

  2.   

    楼上的大意了,他说是要100个按钮的click事件绑定到一起。你这样循环只可以将100个窗体显示出来,并没有绑定按钮的CLICK事件。要将所有按钮先分别添加到各个窗体上,然后,再将这些按钮上的Click事件绑定到一个委托
      

  3.   

    tajlolo(tajlolo) (
    你的代码不好用。Form1[100]应该是一个类。
     xivi(xivi) 
    能不能给出一个程序段?谢谢!
      

  4.   

    i=Int32.Parse (((Button)sender).Name .Substring (1,1));//是很不好的做法,当btn13时你好像也只有得到 i=1;
    Button btn = ((Button)sender);
    Int32 i =btn.Name.Substring(1,btn.Name.Length-1);//btn13 这样才能得到 13
    或者btn1...btn100.Tag=1...100的形式最好!Form frm =(Form)N[i];//将数组元素转换成Form
    if (frm !=null)
    {
    frm.Show();
    }
      

  5.   

    3tzjq(开始用C#做项目)
     Form frm =(Form)N[i];//将数组元素转换成Form//这句提示 无法将类型“string”转换为“System.Windows.Forms.Form”
      

  6.   

    问题是你的这个N数组储存的要是这100 个 Form啊!
      

  7.   

    3tzjq(开始用C#做项目) (
    我这个数组是存储 string 类型 还是 Form 类型呢?
      

  8.   

    也可以是string,但是在决定实例化窗体之前要先根据此数组的元素来switch....。所以这是很麻烦的!
    储存Form的话可以,但比较耗资源。
      

  9.   

    3tzjq(开始用C#做项目) 
    也可以是string,但是在决定实例化窗体之前要先根据此数组的元素来switch....。所以这是很麻烦的!//如何switch?
    储存Form的话可以,但比较耗资源。//Form数组无法储存,总是提示Form2是一个类。
      

  10.   

    3tzjq(开始用C#做项目)
    你有没有qq之类的即时通讯工具。请教你就更方便了。可以给我一个短消息告诉我。