调用构造函数带数组参数的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的时候已经传递了数组吗?
这样的打开一个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();
}