VB.NET WinForms应用程序中Program.cs的等价物是什么?
我需要将.CS应用程序移动到VB.NET。
由于我在Program.cs的WinForms项目中没有表单,因此我执行以下操作:
Application.Run(new MyForm(parm1, parm2);
如何在VB.NET中移动此代码?
由于
答案 0 :(得分:28)
默认情况下,VB.NET应用程序使用神秘的 Windows应用程序框架,这意味着构建过程会为您添加一个入口点,该入口点会自动运行您用作主窗体的任何一种形式。您可以通过项目属性>访问这些设置申请> Windows应用程序框架属性。
如果您不想使用该框架,请取消选中启用应用程序框架复选框,然后选择您要将Sub Main
用作启动对象即可。然后,您可以使用Public Sub Main
方法创建一个模块,该方法将成为应用程序的入口点,就像在C#中的Program.cs中一样。
答案 1 :(得分:9)
无论是Program.cs还是YouNameIt.cs都无关紧要。
默认入口点为Main()
。
此代码应该有效,除非您有另一个入口点(可以在项目设置中指定)。
Shared Sub Main()
' Starts the application.
Application.Run(New Form1())
End Sub
答案 2 :(得分:3)
正如Steven's answer所述,默认情况下,您不需要在VB.NET应用程序中使用Program.cs
之类的内容。但是,如果要替换标准启动代码,可以添加新模块并将其选为启动对象。
首先,右键单击项目并选择Add:Module ....您可以将模块命名为您喜欢的任何名称,但我将其命名为Program.vb以与C#默认值保持一致。粘贴以下代码:
Module Program
Public Sub Main()
Application.Run(New Form1()) ''//Use your main form here
End Sub
End Module
接下来,右键单击项目并选择“属性”。在“应用程序”选项卡上,取消选中“启用应用程序框架”。然后将启动对象更改为Program。还有一个名为Sub Main的选项,我认为它将在任何地方运行Main()
子程序。
现在您已经替换了标准启动代码,您可以在Main()
子例程中添加其他内容。我在MSDN (How to: Change the Startup Object for an Application)注意到了另外一件事:
使用自定义Sub Main过程作为Startup对象时,不会执行应用程序事件(
Startup
,Shutdown
,StartupNextInstance
和UnhandledException
)中的代码。