http://www.jb51.cc/article/p-umrbsqlp-bkr.html
如果你将应用程序项目的启动窗体设顶成某个窗体,则调用该启动窗体的Close命令时,也就会结束该应用程序。 一般来说,要在任何时候结束应用程序,请调用Application.Exit命令。它会停止所有运行中的线程,并关闭应用程序窗体。它并不一定会强制结束应用程序。 一般是在线程内调用,并强制Application.Run返回。若只是要结束当前线程,则调用Application.ExitThread命令。 Application.Exit命令引发下列事件,并执行相关联的条件操作: ● 每一个以OpenForms属性表示的窗体都会引发FromClosing事件。可以通过将事件的FormClosingEventArgs参数的Cancel属性设定为True,取消这个事件。 ● 如果一个或多个处理函数取消事件,Application.Exit就会返回而不再执行操作。否则,没一个打开的窗体都会引发FormClose事件,然后关闭所有执行中的线程和窗体。 下面是一个例子,如果textBox中不是1,则可以关闭窗体,如果是,则不能关闭窗体。
Private Sub Form1_Closing(ByVal sender As Object,ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing If TextBox1.Text = "1" Then e.Cancel = True End If End Sub
你可以使用End语句来立即结束应用程序。你可以将End语句放在程序任何位置,以便强制整个应用程序停止执行。End语句会关闭以Open语句打开的任何文件,并删除应用程序的所有变量。一旦没有其他程序使用这些数据时,而且也没有任何程序代码在执行时,应用程序就会立即关闭。 注意,End语句会突然停止程序代码的执行,而且不会调用Dispose或Finalize命令,也不会调用任何其他的程序代码,其他程序所使用的对象引用将会失效。如果End语句是位于一个Try或Catch语句块中,控制权将不会传递到相应的Finally语句块中。 Stop语句会暂停程序的运行,但它与End不同的地方是,它并不会关闭任何文件或删除任何变量(除非是在编译过的可执行文件中使用) End语句会调用System命名空间的Environment类型的Exit命令。你必须拥有UnmanagedCode权限才能调用Environment.Exit命令,如果你并未拥有该权限,将会引发SecurityException异常 |