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

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

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

关于

GTK# 是一个库,提供 GTK+ 与 Mono .NET 语言(如 C# 或 Visual Basic)的绑定。 GTK+ 是用于创建图形用户界面的领先工具包之一。 GTK# 和 Visual Basic 都是 Mono 开发平台的一部分。

  1. vbnc -r:/usr/lib/mono/gtk-sharp-2.0/gtk-sharp.dll quitbutton.vb

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

简单的例子

在第一个示例中,我们创建一个简单的窗口。 窗口在屏幕上居中。

  1. ' ZetCode Mono Visual Basic GTK# tutorial
  2. '
  3. ' This program centers a window on
  4. ' the screen
  5. '
  6. ' author jan bodnar
  7. ' last modified May 2009
  8. ' website www.zetcode.com
  9. Imports Gtk
  10. Public Class GtkVBApp
  11. Inherits Window
  12. Public Sub New
  13. MyBase.New("Center")
  14. Me.SetDefaultSize(250, 150)
  15. Me.SetPosition(WindowPosition.Center)
  16. AddHandler Me.DeleteEvent, AddressOf Me.OnDeleteEvent
  17. Me.Show
  18. End Sub
  19. Sub OnDeleteEvent(ByVal sender as Object, _
  20. ByVal args as DeleteEventArgs)
  21. Application.Quit
  22. End Sub
  23. Public Shared Sub Main
  24. Application.Init
  25. Dim app As New GtkVBApp
  26. Application.Run
  27. End Sub
  28. End Class

本示例在屏幕中央显示一个250x150像素的窗口。

  1. Imports Gtk

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

  1. Public Class GtkVBApp
  2. Inherits Window

该示例继承自Window。 窗口是顶级容器。

  1. MyBase.New("Center")

在这里,我们称为父级的构造器。

  1. Me.SetDefaultSize(250, 150)

我们为应用窗口设置默认大小。

  1. Me.SetPosition(WindowPosition.Center)

这条线使窗口在屏幕上居中。

  1. AddHandler Me.DeleteEvent, AddressOf Me.OnDeleteEvent

我们将处理器插入DeleteEvent

  1. Me.Show

一切准备就绪后,我们在屏幕上显示窗口。

  1. Sub OnDeleteEvent(ByVal sender as Object, _
  2. ByVal args as DeleteEventArgs)
  3. Application.Quit
  4. End Sub

当我们单击标题栏中的关闭按钮或按 Alt + F4 时,事件被触发。 该方法永久退出该应用。

  1. Application.Init
  2. Dim app As New GtkVBApp
  3. Application.Run

这三行设置了应用。

创建工具提示

第二个示例将显示一个工具提示。 工具提示是一个小的矩形窗口,它提供有关对象的简短信息。 它通常是一个 GUI 组件。 它是应用帮助系统的一部分。

  1. ' ZetCode Mono Visual Basic GTK# tutorial
  2. '
  3. ' This program shows a tooltip
  4. '
  5. ' author jan bodnar
  6. ' last modified May 2009
  7. ' website www.zetcode.com
  8. Imports Gtk
  9. Public Class GtkVBApp
  10. Inherits Window
  11. Public Sub New
  12. MyBase.New("Tooltip")
  13. Me.SetDefaultSize(250, 150)
  14. Me.SetPosition(WindowPosition.Center)
  15. AddHandler Me.DeleteEvent, AddressOf Me.OnDeleteEvent
  16. Me.TooltipText = "This is a Window"
  17. Me.Show
  18. End Sub
  19. Sub OnDeleteEvent(ByVal sender as Object, _
  20. ByVal args as DeleteEventArgs)
  21. Application.Quit
  22. End Sub
  23. Public Shared Sub Main
  24. Application.Init
  25. Dim app As New GtkVBApp
  26. Application.Run
  27. End Sub
  28. End Class

该示例创建一个窗口。 如果将鼠标指针悬停在窗口区域上方,则会弹出一个工具提示。

  1. Me.TooltipText = "This is a Window"

我们通过TooltipText属性设置工具提示。

Visual Basic GTK# 简介 - 图1

图:工具提示

退出按钮

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

  1. ' ZetCode Mono Visual Basic GTK# 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 Gtk
  11. Public Class GtkVBApp
  12. Inherits Window
  13. Public Sub New
  14. MyBase.New("Quit button")
  15. Me.InitUI
  16. Me.SetDefaultSize(250, 150)
  17. Me.SetPosition(WindowPosition.Center)
  18. AddHandler Me.DeleteEvent, AddressOf Me.OnDelete
  19. Me.ShowAll
  20. End Sub
  21. Private Sub InitUI
  22. Dim quitButton As New Button("Quit")
  23. quitButton.SetSizeRequest(80, 30)
  24. AddHandler quitButton.Clicked, AddressOf Me.OnQuit
  25. Dim fix As New Fixed
  26. fix.Put(quitButton, 50, 50)
  27. Me.Add(fix)
  28. End Sub
  29. Sub OnQuit(ByVal sender As Object, _
  30. ByVal args As EventArgs)
  31. Application.Quit
  32. End Sub
  33. Sub OnDelete(ByVal sender As Object, _
  34. ByVal args As DeleteEventArgs)
  35. Application.Quit
  36. End Sub
  37. Public Shared Sub Main
  38. Application.Init
  39. Dim app As New GtkVBApp
  40. Application.Run
  41. End Sub
  42. End Class

我们使用Button小部件。 这是一个非常常见的小部件。 它显示文本标签,图像或两者。

  1. Me.InitUI

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

  1. Me.ShowAll

我们有两个选择。 在所有小部件上调用Show,或调用ShowAll(显示容器及其所有子代)。

  1. Dim quitButton As New Button("Quit")

在这里,我们创建一个按钮小部件。

  1. quitButton.SetSizeRequest(80, 30)

我们为按钮设置大小。

  1. AddHandler quitButton.Clicked, AddressOf Me.OnQuit

我们将OnQuit方法插入按钮Clicked事件。

  1. Dim fix As New Fixed
  2. fix.Put(quitButton, 50, 50)

我们将退出按钮放入x = 50y = 50的固定容器中。

  1. Sub OnQuit(ByVal sender As Object, _
  2. ByVal args As EventArgs)
  3. Application.Quit
  4. End Sub

OnQuit方法内部,我们终止了该应用。

Visual Basic GTK# 简介 - 图2

图:退出按钮

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