在Visual Studio中创建VB.NET Winforms项目时,有许多与初始化相关的代码似乎被隐藏了。有没有办法显示它,以便通过创建MyProject
和MyApplication
对象,SplashScreen
的创建和展示,最后定义和创建,从一开始就查看哪些语句。 My.Application.ApplicationContext.MainForm
?
也就是说,一个Console应用程序项目有一个Sub Main()
是可见的,我假设一个Winforms应用程序也应该有一个,但是它被隐藏并打包了为SplashScreen,main Form等创建实例的例程。我想更好地了解和了解这一流程。
谢谢!
答案 0 :(得分:2)
点击项目 - >属性 - >应用程序选项卡 - >查看应用程序事件按钮(选项卡的右下角)。
在这里,您可以创建一个Application.Startup() Event,相当于控制台应用程序中的Sub Main
;至少它是你应该放置需要运行的代码的第一个地方。 *在代码编辑器的顶部使用DropDowns;将“MyApplication”更改为“(MyApplication Events)”,并将“OnCreateMainForm”更改为“Startup”。
在这里,您还可以查看构造函数New()
和OnCreateMainForm()
,它是创建启动表单的位置。下面是所有这些的例子:
Option Strict On
Option Explicit On
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Imports Microsoft.VisualBasic.ApplicationServices
Namespace My
'NOTE: This file is auto-generated; do not modify it directly. To make changes,
' or if you encounter build errors in this file, go to the Project Designer
' (go to Project Properties or double-click the My Project node in
' Solution Explorer), and make changes on the Application tab.
'
Partial Friend Class MyApplication
<Global.System.Diagnostics.DebuggerStepThroughAttribute()>
Public Sub New()
MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
Me.IsSingleInstance = False
Me.EnableVisualStyles = True
Me.SaveMySettingsOnExit = True
Me.ShutdownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
End Sub
<Global.System.Diagnostics.DebuggerStepThroughAttribute()>
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.VB_Scratch_WinForms.Form1
End Sub
Private Sub MyApplication_Startup(sender As Object, e As StartupEventArgs) Handles Me.Startup
End Sub
End Class
End Namespace
答案 1 :(得分:1)
我相信你要求的东西被埋在一个混合的地方。 Console Sub Main()等同于您指定的应用程序设置下的“启动表单”;通常Sub Main()等同于我的Mainform_Load。在解决方案资源管理器中,如果您浏览“我的项目”(确保在应用程序名称上方点击“显示所有文件”)并展开所有树,您将看到Application.Designer.vb,Resources.Designer等文件.vb和Settings.Designer.vb将显示与项目有关的自动生成信息。这些信息都是在启动表单初始化之前加载的。
您还可以使用ApplicationEvents.vb(位于“我的项目”下的“应用程序”选项卡下),它会显示您并允许您在创建启动表单之前调用代码。
所有这些部分可能是您有兴趣看到的。但正如所提到的,大多数都在引擎盖下,Sub Main()实际上是你想要的Windows窗体应用程序。
希望这些文件有所帮助。