static void Main(string [] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1(args[0]));
}
这是一个记事本程序,form1是记事本的主窗口,给main()加参数主要是为了能关联txt到我的这个程序,就是双击打开...但是这边会有一些问题...
1,这个是带参的构造函数
public Form1(string str)
{
InitializeComponent();
this.str = str;
this.setText(str);}
2.这个是不带参的构造函数
public Form1() {
InitializeComponent();
}
如果在主函数里直接写Application.Run(new Form1());可以启动Form1,但是一旦写成Application.Run(new Form1(args[0])); 就无法启动form1了,但是可以直接把txt文件用这个程序打开...
我的问题是如果我写Application.Run(new Form1(args[0])); 这句,而且是直接启动程序,那么这个new Form1(args[0])是怎么做的???还是调用默认无参的构造函数还是就跳过不做了???现在来看是跳过不做了,因为我给无参的构造函数也写了方法体了...
求正确的代码...
所以我用
if(arg.length(1)==0){Application.Run(new Form1()); }
else Application.Run(new Form1(args[0]));
可是我拙劣的异常处理语句又让这个没法实现...就是还有一个问题,如果我不给main传参数那么这个args是有还是没有?到底长度是0还是什么说法???
诚恳求助...