Visual Studio Winforms Project隐藏启动代码

时间:2017-06-29 13:05:10

标签: vb.net winforms visual-studio visual-studio-2017

在Visual Studio中创建VB.NET Winforms项目时,有许多与初始化相关的代码似乎被隐藏了。有没有办法显示它,以便通过创建MyProjectMyApplication对象,SplashScreen的创建和展示,最后定义和创建,从一开始就查看哪些语句。 My.Application.ApplicationContext.MainForm

也就是说,一个Console应用程序项目有一个Sub Main()是可见的,我假设一个Winforms应用程序也应该有一个,但是它被隐藏并打包了为SplashScreen,main Form等创建实例的例程。我想更好地了解和了解这一流程。

谢谢!

2 个答案:

答案 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窗体应用程序。

希望这些文件有所帮助。