如果你在visual studio.net中创建一个vb.net的windows窗口工程,在你编译时,visual studio.net会自动地给你的程序的可执行文件中加入什么呢?@H_403_3@
哪里是最后的地方,你去控制你程序的飞溅窗口,登陆窗口,主窗口还有应用程序级别数据和行为?@H_403_3@
上面所有的问题都可以回答为:the Sub Main() procedure@H_403_3@
作为一个visual Studio.net的新手,这是一个在创建VB.net窗口程序时很容易忽略的一个很重要的问题。如果你没有意识到需要Sub Main(),不加入Sub Main()代码,visual Studio 很奇怪地在你编译你的应用程序时自动会加入一个Sub Main()方法到你的程序的可执行文件中去。你从来不会发现它。@H_403_3@
这个自动加入Sub Main()方法是非常好的当你在学怎么写一个hello world应用程序。但是这个特性将会阻碍你开始写一个真正的应用程序。@H_403_3@
这篇文章将会解释怎么样创建你自己的Sub Main() procedure 和怎么用它去控制你的应用程序的开始和关闭。@H_403_3@
Sub Main() Procedure 示例代码:@H_403_3@
<STAThread()> _@H_403_3@
Shared Sub Main()@H_403_3@
' Declare a variable named frm1 of type Form1.@H_403_3@
Dim frm1 As Form1@H_403_3@
' Instantiate (create) a new Form1 object and assign@H_403_3@
' it to variable frm1.@H_403_3@
frm1 = New Form1()@H_403_3@
' Call the Application class' Run method@H_403_3@
' passing it the Form1 object created above.@H_403_3@
Application.Run(frm1)@H_403_3@
End Sub@H_403_3@
上面这段代码展示了一个简单的Sub Main() procedure,当你加入一个窗口到你的代码中时,它会被应用。一旦加了这段代码,Visual Studio.net就会意识到这个窗口有Sub Main() procedure代码,在编译时就会用这段代码代替它自动加入的那段Sub Main() procedure。@H_403_3@
1:新建一个VB.NET 窗口应用程序工程。@H_403_3@
3:复制文章中下面的代码,粘贴到Form1.@H_403_3@
Public Class Form1@H_403_3@
Inherits System.Windows.Forms.Form@H_403_3@
Windows Form Designer generated code@H_403_3@
@H_403_3@
<STAThread()> _@H_403_3@
Shared Sub Main()@H_403_3@
' Declare a variable named frm1 of type Form1.@H_403_3@
Dim frm1 As Form1@H_403_3@
' Instantiate (create) a new Form1 object and assign@H_403_3@
' it to variable frm1.@H_403_3@
frm1 = New Form1()@H_403_3@
' Call the Application class' Run method@H_403_3@
' passing it the Form1 object created above.@H_403_3@
Application.Run(frm1)@H_403_3@
End Sub@H_403_3@
@H_403_3@
End Class@H_403_3@
4:运行程序。@H_403_3@
你的Sub Main() 代码为程序提供了一个入口点。Form1将要被打开,如果你加入了Sub Main()代码。不同在于你自己编写的Sub Main() procedure代替了Visual Studio.net给你自动加入的代码。@H_403_3@
你已经迈出了走向掌握使用Sub Main() procedure的第一步。@H_403_3@
Move Sub Main() to a Class@H_403_3@
下一篇文章会解释怎么样把Sub Main() procedure 移动到一个类中。@H_403_3@
加入一个叫AppMgr的VB.NET类到你的工程中去。@H_403_3@ 原文链接:https://www.f2er.com/vb/259570.html