读书人

调用构造函数带数组参数的winForm窗口

发布时间: 2012-12-14 10:33:08 作者: rapoo

调用构造函数带数组参数的winForm窗口
C# winform程序,初始界面为form1窗口。program.cs中MAIN函数调用form1窗口的代码如下:


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


form1窗口的构造函数如下:

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

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

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

虽然可以运行,但是会先弹出一个错误提示框,显示“IO Error”,然后调出from1窗口。请问有什么好的调用办法吗?
顺便说一下,以下调用方法是不可行的。

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

[最优解释]
将frmMain做成和form1一样的接受args参数,然后

Application.Run(new Main(args));
[其他解释]
没报错 不知道你那什么情况 new DocumentProcessing.Form1(string[] args).ShowDialog(); 当然不可以你是要传递一个数组 不是定义一个
[其他解释]
引用:
没报错 不知道你那什么情况 new DocumentProcessing.Form1(string[] args).ShowDialog(); 当然不可以你是要传递一个数组 不是定义一个

这个不是在new的时候已经传递了数组吗?
这样的打开一个form应该没问题吧
[其他解释]
自己解决。

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

[其他解释]
发一个正确的。

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


}

读书人网 >C#

热点推荐