但是我在vb.net2005里没有找到sub main()启动。我刚开始,程序的每个窗口初始化时,我就让它读配置文件。后来觉得很麻烦。
如果应用程序类型选windows应用程序,只能选从哪个窗体启动,找不到sub main。我现在就把程序类型选windows服务。这样,就可以从sub main启动了。请问,我这么做行不行?windows应用程序和windows服务有什么不同啊?
'Dim frm As New Form1()
'frm.Show()
System.Windows.Forms.Application.Run(New Form1())
为什么我生成一个窗体,弹出来,程序执行不了?而用下面一句就可以?
9 个解决方案
#1
服务是没有窗体的
你可以双击 My Project 然后点应用程序 然后点查看应用程序事件
你可以双击 My Project 然后点应用程序 然后点查看应用程序事件
Partial Friend Class MyApplication
Private Sub MyApplication_Startup(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup
End Sub
End Class
'在这个事件中写读配置文件之类的代码
#2
在项目的属性里,第一个选项框,我是英文的,叫application里,你的应用程序类型如果是windows forms application 那么你要取消 Enable appliction framework(有效的应用程序框架)前的勾,这样才能选择Startup Object(开始对象),你就可以设置Main了,不要去选择服务类型,服务类型是没有窗口的。
至于你
'Dim frm As New Form1()
'frm.Show()
System.Windows.Forms.Application.Run(New Form1())
那是因为第一段是显出出来form1窗口里,但是马上程序结束了,所以你就看不到了,所以如果你要用main来作为主程序,那你就要建立好消息循环,而后在现实窗口,建立消息循环就是Application的Run方法
你这样也可以
Dim frm As New Form1()
frm.Show()
Application.Run()
至于你
'Dim frm As New Form1()
'frm.Show()
System.Windows.Forms.Application.Run(New Form1())
那是因为第一段是显出出来form1窗口里,但是马上程序结束了,所以你就看不到了,所以如果你要用main来作为主程序,那你就要建立好消息循环,而后在现实窗口,建立消息循环就是Application的Run方法
你这样也可以
Dim frm As New Form1()
frm.Show()
Application.Run()
#3
学习!
#4
和正常的运行一样的
#5
在my project里把启动应用程序框架前的勾去掉
#6
二楼说的已很清楚了,只是二楼用的是英文版,看上去好像有点不明白,在中文版vb.net2005中,项目属性的应用程序选项卡里有一个“启动应用程序框架(K)”的复选框,如果它打了勾选中了,那么“启动窗体(O)”下拉列表框中就不出现“sub main”选项,如果去掉“启动应用程序框架(K)”的复选框中勾,“启动窗体(O)”下拉列表框中就会出现“sub main”选项。
#7
楼上说的有道理。
#8
Dim frm As New Form1()
frm.ShowDialog()
frm.ShowDialog()
#9
学习了, 给你补上
#1
服务是没有窗体的
你可以双击 My Project 然后点应用程序 然后点查看应用程序事件
你可以双击 My Project 然后点应用程序 然后点查看应用程序事件
Partial Friend Class MyApplication
Private Sub MyApplication_Startup(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup
End Sub
End Class
'在这个事件中写读配置文件之类的代码
#2
在项目的属性里,第一个选项框,我是英文的,叫application里,你的应用程序类型如果是windows forms application 那么你要取消 Enable appliction framework(有效的应用程序框架)前的勾,这样才能选择Startup Object(开始对象),你就可以设置Main了,不要去选择服务类型,服务类型是没有窗口的。
至于你
'Dim frm As New Form1()
'frm.Show()
System.Windows.Forms.Application.Run(New Form1())
那是因为第一段是显出出来form1窗口里,但是马上程序结束了,所以你就看不到了,所以如果你要用main来作为主程序,那你就要建立好消息循环,而后在现实窗口,建立消息循环就是Application的Run方法
你这样也可以
Dim frm As New Form1()
frm.Show()
Application.Run()
至于你
'Dim frm As New Form1()
'frm.Show()
System.Windows.Forms.Application.Run(New Form1())
那是因为第一段是显出出来form1窗口里,但是马上程序结束了,所以你就看不到了,所以如果你要用main来作为主程序,那你就要建立好消息循环,而后在现实窗口,建立消息循环就是Application的Run方法
你这样也可以
Dim frm As New Form1()
frm.Show()
Application.Run()
#3
学习!
#4
和正常的运行一样的
#5
在my project里把启动应用程序框架前的勾去掉
#6
二楼说的已很清楚了,只是二楼用的是英文版,看上去好像有点不明白,在中文版vb.net2005中,项目属性的应用程序选项卡里有一个“启动应用程序框架(K)”的复选框,如果它打了勾选中了,那么“启动窗体(O)”下拉列表框中就不出现“sub main”选项,如果去掉“启动应用程序框架(K)”的复选框中勾,“启动窗体(O)”下拉列表框中就会出现“sub main”选项。
#7
楼上说的有道理。
#8
Dim frm As New Form1()
frm.ShowDialog()
frm.ShowDialog()
#9
学习了, 给你补上