您的位置:程序门 -> .net技术 -> c#



c# 2005 ,关于program.cs文件中的main函数问题。


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


c# 2005 ,关于program.cs文件中的main函数问题。
发表于:2007-03-29 16:12:23 楼主
c#   2005   ,关于program.cs文件中的main函数问题。

原来的main函数是这样的:
                [stathread]
                static   void   main(string[]   args)
                {
                        application.enablevisualstyles();
                        application.setcompatibletextrenderingdefault(false);
                        application.run(new   form2());                        
                }
我需要把它改称这样:
                [stathread]
                static   void   main(string[]   args)
                {
                        application.enablevisualstyles();
                        application.setcompatibletextrenderingdefault(false);
                        deliverytool   tool   =   new   deliverytool();
                        tool.process();
                }
因为需要我的类才能决定是否现实窗口。

请问:
1。我这样写会有问题么?
2。application.run(new   form2());大概工作原理是什么?

发表于:2007-03-29 16:18:381楼 得分:0
application对象(一个程序只有一个)掌管程序运行的生死

application.run(new   form());//这里面的form作为由application掌管的mainform(applicationcontext里的概念)
发表于:2007-03-29 16:20:212楼 得分:0
1。我这样写会有问题么?
发表于:2007-03-29 16:21:023楼 得分:0
你这样写是有问题的,因为应用程序的启动必须由application开始,也就是说必须有一个mainform//关于mainform的概念可以去看applicationcontext

你可以把devtool啥的类加载到mainform中嘛,如果条件不满足的话,用application.exit();退出就可以了,保证不会出现资源泄露
发表于:2007-03-29 16:24:364楼 得分:0
你的意思是必须从一个窗口启动?
这样:
application.run(new   form2());
发表于:2007-03-29 16:36:015楼 得分:0
deliverytool   tool   =   new   deliverytool();
                        tool.process();
如果成功
application.run(new   form2());
否则
application.exit();
发表于:2007-03-29 16:40:226楼 得分:0
[stathread]
                static   void   main(string[]   args)
                {
                        application.enablevisualstyles();
                        application.setcompatibletextrenderingdefault(false);
                        deliverytool   tool   =   new   deliverytool();
                        tool.process();
                       
                        application.exit();
                }


有问题么?   application.exit();这句话加上后
发表于:2007-03-29 16:48:277楼 得分:0
大家帮忙啊,很着急的问题!
发表于:2007-03-29 16:49:098楼 得分:0
application.run(new   form2())
启动form2窗体
发表于:2007-03-29 17:04:199楼 得分:0
这么写没什么问题.
main只是一个程序的入口.
发表于:2007-03-30 07:57:5310楼 得分:0
[stathread]
                static   void   main(string[]   args)
                {
                        application.enablevisualstyles();
                        application.setcompatibletextrenderingdefault(false);
                        deliverytool   tool   =   new   deliverytool();
                        tool.process();
                       
                        application.exit();
                }


有问题么?   application.exit();这句话加上后
发表于:2007-03-30 08:45:1311楼 得分:0
你只要保证你的程序是用application.run来运行的就行了,因为这样才能保证进程的消息循环进行.你当然可以把这个run写到别的地方而不一定要在在main函数中,main不过是使进程开始运行的一个入口而已.
发表于:2007-03-30 08:50:0612楼 得分:0
main()从本质上来说只是个函数,只要语法没问题,爱怎么写都可以
发表于:2007-03-30 08:54:2813楼 得分:0
一定要有application.run么?可是我的程序中看不出来哪儿需要这句话啊?
发表于:2007-03-30 09:29:3414楼 得分:0
zengjd(一)   (   )   信誉:94         blog  
一定要有application.run么?可是我的程序中看不出来哪儿需要这句话啊?
--------------

哥们自己试试看不久行乐,这句貌似是程序的开始,你自己实验吧,记得把结果发出来
发表于:2007-03-30 09:30:4315楼 得分:0
貌似console程序没有application   run
发表于:2007-03-30 09:52:1216楼 得分:0
现在是试验一切正常,但是我怕有资源泄漏或其他的什么问题。
发表于:2007-03-30 13:04:5717楼 得分:0
应该没问题的
发表于:2007-04-02 20:45:0518楼 得分:0
你只要保证你的程序是用application.run来运行的就行了,因为这样才能保证进程的消息循环进行.你当然可以把这个run写到别的地方而不一定要在在main函数中,main不过是使进程开始运行的一个入口而已.




[stathread]
static   void   main(   )
{
application.enablevisualstyles(   );
application.setcompatibletextrenderingdefault(   false   );
application.run(   new   mainform(   )   );
}
改成
[stathread]
static   void   main(   )
{
application.enablevisualstyles(   );
application.setcompatibletextrenderingdefault(   false   );
new   mainform(   ).show();//把窗口显示出来
}
你会发现窗口一闪就没了,跟着程序运行结束。
(mainform没有进入消息循环)

发表于:2007-04-03 08:53:2719楼 得分:0
[stathread]
                static   void   main(string[]   args)
                {
                        application.enablevisualstyles();
                        application.setcompatibletextrenderingdefault(false);
                        deliverytool   tool   =   new   deliverytool();
                        tool.process();
                       
                        application.exit();
                }


有问题么?  
发表于:2007-04-03 08:53:4920楼 得分:0
[stathread]
                static   void   main(string[]   args)
                {
                        deliverytool   tool   =   new   deliverytool();
                        tool.process();
                       
                        application.exit();
                }


有问题么?


快速检索

最新资讯
热门点击