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

查看传递数值
C# winform程序,初始界面为form1。调用程序如下:

        public static void Main(string[] args)
          {
             Application.EnableVisualStyles(); 
             Application.DoEvents();
             Application.Run(new Form1(args));
         }


form1窗口的构造函数如下:

     public Form1(string[] args)
     {
        initializeComponent();
          ...... 
        }

以上程序运行正常。我现在想把初始界面设为frmMain,从初始界面中再调用form1.调用程序如下:

      private void toolStripMenuItem39_Click(object sender, EventArgs e) 
        {
             new DocumentProcessing.Form1(new string[]{"1","2","3"}).ShowDialog();
        }

如此调用,会先弹出一个错误提示框,显示“IO Error”,然后调出from1窗口。虽然可以运行,但是这个错误提示框很烦人。请问有什么好的调用办法吗?
------最佳解决方案--------------------
http://bbs.csdn.net/topics/390128592
------其他解决方案--------------------
 public static void Main(string[] args)
          {
             Application.EnableVisualStyles(); 
             Application.DoEvents();
             //Application.Run(new Form1(args));
Application.Run(new frmMain(args));
不可以吗?


然后你的构造函数这么写
frmMain()
{
  initializeComponent();
}

frmMain(object args)
:this()
{

}

         }

------其他解决方案--------------------
发一个正确的。

public string[] aaa={};
private void toolStripMenuItem39_Click(object sender, EventArgs e)
{
 new DocumentProcessing.Form1(aaa).ShowDialog();
}