原文: http://zetcode.com/gui/vbwinforms/introduction/

在 Visual Basic Winforms 编程教程的这一部分中,我们将介绍 Winforms 库并使用 Visual Basic 编程语言创建第一个程序。

本教程的目的是使您开始使用 Winforms 和 Visual Basic。 可以在此处下载本教程中使用的图像。 我使用了 Gnome 项目的探戈图标包中的一些图标。

关于

Windows 窗体是图形用户界面应用编程接口(API),包含在 Microsoft .NET Framework 中。 截至 2008 年 5 月 13 日,Mono 的System.Windows.Forms 2.0 已完成 API。 简而言之,Winforms 是一个用于创建 GUI 应用的库。

Mono 是一个跨平台的开源.NET 开发框架。 它是.NET 兼容的工具集,其中包括 C# 编译器,Visual Basic 编译器,公共语言运行时,ADO.NET,ASP.NET 和 Winforms 库。

  1. vbnc -r:/usr/lib/mono/2.0/System.Windows.Forms.dll quitbutton.vb

上面的命令显示了如何编译quitbutton示例。 mono VB 编译器的-r参数加载 Winforms 程序集。 这是一个动态库。 该命令显示了 Ubuntu 系统上 DLL 库的路径。

使窗口居中

在第二个示例中,我们将窗口置于屏幕中央。

  1. ' ZetCode Mono Visual Basic Winforms tutorial
  2. '
  3. ' This program centers a window
  4. ' on the screen
  5. '
  6. ' author jan bodnar
  7. ' last modified May 2009
  8. ' website www.zetcode.com
  9. Imports System.Windows.Forms
  10. Imports System.Drawing
  11. Public Class WinVBApp
  12. Inherits Form
  13. Public Sub New
  14. Me.Text = "Center"
  15. Me.Size = New Size(250, 200)
  16. Me.CenterToScreen
  17. End Sub
  18. Public Shared Sub Main
  19. Application.Run(New WinVBApp)
  20. End Sub
  21. End Class

此代码示例在屏幕中央显示一个小窗口。

  1. Imports System.Windows.Forms
  2. Imports System.Drawing

Imports关键字导入我们将在应用中使用的必需品类型。

  1. Public Class WinVBApp
  2. Inherits Form

在 Winforms 中,任何窗口或对话框都是窗体。 该控件是一个基本容器,其目的是显示其他子控件。 我们的类继承于一种形式。 这样,它本身就成为一种形式。

  1. Public Sub New
  2. ...
  3. End Sub

在构造器中,我们设置了应用。

  1. Me.Text = "Center"

在这里,我们为表格设置标题。

  1. Me.Size = New Size(250, 200)

我们为表单设置大小。

  1. Me.CenterToScreen

此代码行使屏幕上的窗口居中。

  1. Public Shared Sub Main
  2. Application.Run(New WinVBApp)
  3. End Sub

我们运行示例。

图标

Mono 在西班牙语中意为猴子。 如果我们不为应用提供图标,则默认情况下,我们的头是猴子。 下一个示例显示如何更改此设置。

  1. ' ZetCode Mono Visual Basic Winforms tutorial
  2. '
  3. ' This program shows an icon in the
  4. ' title bar
  5. '
  6. ' author jan bodnar
  7. ' last modified May 2009
  8. ' website www.zetcode.com
  9. Imports System.Windows.Forms
  10. Imports System.Drawing
  11. Public Class WinVBApp
  12. Inherits Form
  13. Public Sub New
  14. Me.Text = "Icon"
  15. Me.Size = New Size(250, 200)
  16. Try
  17. Icon = New Icon("web.ico")
  18. Catch e As Exception
  19. Console.WriteLine(e.Message)
  20. Environment.Exit(1)
  21. End Try
  22. Me.CenterToScreen
  23. End Sub
  24. Public Shared Sub Main
  25. Application.Run(New WinVBApp)
  26. End Sub
  27. End Class

该代码示例在窗体的左上角显示一个图标。 表单的图标是代表任务栏中表单的图片以及为表单的控制框显示的图标。

  1. Try
  2. Icon = New Icon("web.ico")
  3. Catch e As Exception
  4. Console.WriteLine(e.Message)
  5. Environment.Exit(1)
  6. End Try

最好将所有输入输出工作放在Try/Catch关键字之间。 web.ico文件必须在当前工作目录中可用。 这是我们执行(./icon.exe)应用的目录。

Visual Basic Winforms 简介 - 图1

图:图标

退出按钮

在本节的最后一个示例中,我们将创建一个退出按钮。 当我们按下此按钮时,应用终止。

  1. ' ZetCode Mono Visual Basic Winforms tutorial
  2. '
  3. ' This program creates a quit
  4. ' button. When we press the button,
  5. ' the application terminates.
  6. '
  7. ' author jan bodnar
  8. ' last modified May 2009
  9. ' website www.zetcode.com
  10. Imports System.Windows.Forms
  11. Imports System.Drawing
  12. Public Class WinVBApp
  13. Inherits Form
  14. Public Sub New
  15. Me.Text = "Quit button"
  16. Me.Size = New Size(250, 200)
  17. Me.InitUI
  18. Me.CenterToScreen
  19. End Sub
  20. Private Sub InitUI
  21. Dim button As New Button
  22. button.Location = New Point(30, 20)
  23. button.Text = "Quit"
  24. button.Parent = Me
  25. AddHandler button.Click, AddressOf Me.OnClick
  26. Me.CenterToScreen
  27. End Sub
  28. Private Sub OnClick(ByVal sender As Object, ByVal e As EventArgs)
  29. Me.Close
  30. End Sub
  31. Public Shared Sub Main
  32. Application.Run(New WinVBApp)
  33. End Sub
  34. End Class

我们使用Button。 这是一个非常常见的小部件。 它是一个矩形,通常显示一个文本标签。

  1. Me.InitUI

我们将用户界面的创建委托给InitUI方法。

  1. Dim button As New Button
  2. button.Location = New Point(30, 20)
  3. button.Text = "Quit"
  4. button.Parent = Me

我们创建按钮小部件。 我们将其放置在表单上。 为其提供标签,并将其放入表单容器中。

  1. AddHandler button.Click, AddressOf Me.OnClick

当我们单击按钮时,将触发Click事件。 我们使用OnClick方法对此事件做出反应。

  1. Private Sub OnClick(ByVal sender As Object, ByVal e As EventArgs)
  2. Me.Close
  3. End Sub

OnClick方法终止应用。

Visual Basic Winforms 简介 - 图2

图:退出按钮

本节介绍了使用 Visual Basic 语言的 Winforms 库。