<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 小部件 > 原文: [http://zetcode.com/gui/vbgtk/widgets/](http://zetcode.com/gui/vbgtk/widgets/) 在 Visual Basic GTK# 編程教程的這一部分中,我們將介紹一些小部件。 小部件是 GUI 應用的基本構建塊。 多年來,幾個小部件已成為所有 OS 平臺上所有工具包中的標準。 例如,按鈕,復選框或滾動條。 GTK# 工具箱的理念是將小部件的數量保持在最低水平。 將創建更多專門的小部件作為自定義 GTK# 小部件。 ## `CheckButton` `CheckButton`是具有兩種狀態的窗口小部件:打開和關閉。 接通狀態通過復選標記顯示。 它用來表示一些布爾屬性。 ```vb ' ZetCode Mono Visual Basic GTK# tutorial ' ' This program toggles the title of the ' window with the CheckButton widget ' ' author jan bodnar ' last modified May 2009 ' website www.zetcode.com Imports Gtk Public Class GtkVBApp Inherits Window Public Sub New MyBase.New("CheckButton") Me.InitUI Me.SetDefaultSize(250, 150) Me.SetPosition(WindowPosition.Center) AddHandler Me.DeleteEvent, AddressOf Me.OnDelete Me.ShowAll End Sub Private Sub InitUI Dim cb As New CheckButton("Show title") cb.Active = True AddHandler cb.Toggled, AddressOf Me.OnToggle Dim fix As New Fixed fix.Put(cb, 50, 50) Me.Add(fix) End Sub Sub OnToggle(ByVal sender As Object, ByVal args As EventArgs) If sender.Active Me.Title = "CheckButton" Else Title = " " End If End Sub Sub OnDelete(ByVal sender As Object, _ ByVal args As DeleteEventArgs) Application.Quit End Sub Public Shared Sub Main Application.Init Dim app As New GtkVBApp Application.Run End Sub End Class ``` 根據`CheckButton`的狀態,我們將在窗口的標題欄中顯示標題。 ```vb Dim cb As New CheckButton("Show title") ``` `CheckButton`小部件已創建。 ```vb cb.Active = True ``` 默認情況下標題是可見的,因此我們默認情況下選中復選按鈕。 ```vb If sender.Active Me.Title = "CheckButton" Else Title = " " End If ``` 根據`CheckButton`的`Active`屬性,我們顯示或隱藏窗口的標題。 ![CheckButton](https://img.kancloud.cn/97/13/9713dbc55b0aa906949ef1dff66f9c77_258x178.jpg) 圖:`CheckButton` ## `Label` `Label`小部件顯示文本。 ```vb ' ZetCode Mono Visual Basic GTK# tutorial ' This program shows lyrics on ' the window in a label widget ' ' author jan bodnar ' last modified May 2009 ' website www.zetcode.com Imports Gtk Public Class GtkVBApp Inherits Window Dim text As String = "Meet you downstairs in the bar and heard" & vbNewLine & _ "your rolled up sleeves and your skull t-shirt" & vbNewLine & _ "You say why did you do it with him today?" & vbNewLine & _ "and sniff me out like I was Tanqueray" & vbNewLine & _ "" & vbNewLine & _ "cause you're my fella, my guy" & vbNewLine & _ "hand me your stella and fly" & vbNewLine & _ "by the time I'm out the door" & vbNewLine & _ "you tear men down like Roger Moore" & vbNewLine & _ "" & vbNewLine & _ "I cheated myself" & vbNewLine & _ "like I knew I would" & vbNewLine & _ "I told ya, I was trouble" & vbNewLine & _ "you know that I'm no good" Public Sub New MyBase.New("You know I'm No Good") Me.InitUI Me.SetPosition(WindowPosition.Center) Me.BorderWidth = 10 AddHandler Me.DeleteEvent, AddressOf Me.OnDelete Me.ShowAll End Sub Private Sub InitUI Dim lyrics As New Label(text) Me.Add(lyrics) End Sub Sub OnDelete(ByVal sender As Object, ByVal args As DeleteEventArgs) Application.Quit End Sub Public Shared Sub Main Application.Init Dim app As New GtkVBApp Application.Run End Sub End Class ``` 該代碼示例在窗口上顯示了一些歌詞。 ```vb Dim text As String = "Meet you downstairs in the bar and heard" & vbNewLine & _ "your rolled up sleeves and your skull t-shirt" & vbNewLine & _ ... ``` 我們定義了多行文字。 與 C# ,Python 或 Ruby 不同,沒有簡單的結構可以用 Visual Basic 語言創建多行文本。 若要在 Visual Basic 中創建多行文本,我們使用`vbNewLine`打印常量,`+`連接字符和`_`行終止字符。 ```vb Me.BorderWidth = 10 ``` `Label`周圍有一些空白。 ```vb Dim lyrics As New Label(text) Me.Add(lyrics) ``` `Label`小部件已創建并添加到窗口。 ![Label Widget](https://img.kancloud.cn/48/6a/486a66d56118e51f190b8370b8a1a05c_297x258.jpg) 圖:`Label`小部件 ## `Entry` `Entry`是單行文本輸入字段。 該小部件用于輸入文本數據。 ```vb ' ZetCode Mono Visual Basic GTK# tutorial ' ' This program demonstrates the ' Entry widget. Text entered in the Entry ' widget is shown in a Label widget. ' ' author jan bodnar ' last modified May 2009 ' website www.zetcode.com Imports Gtk Public Class GtkVBApp Inherits Window Dim label As Label Public Sub New MyBase.New("Entry") Me.InitUI Me.SetDefaultSize(250, 150) Me.SetPosition(WindowPosition.Center) AddHandler Me.DeleteEvent, AddressOf Me.OnDelete Me.ShowAll End Sub Private Sub InitUI Dim fixed As New Fixed label = New Label("...") fixed.put(label, 60, 40) Dim entry As New Entry fixed.put(entry, 60, 100) AddHandler entry.Changed, AddressOf Me.OnTextChanged Me.Add(fixed) End Sub Sub OnTextChanged(ByVal sender As Object, _ ByVal args As EventArgs) label.Text = sender.Text End Sub Sub OnDelete(ByVal sender As Object, _ ByVal args As DeleteEventArgs) Application.Quit End Sub Public Shared Sub Main Application.Init Dim app As New GtkVBApp Application.Run End Sub End Class ``` 此示例顯示了條目小部件和標簽。 我們輸入的文本將立即顯示在標簽小部件中。 ```vb Dim entry As New Entry ``` `Entry`小部件已創建。 ```vb AddHandler entry.Changed, AddressOf Me.OnTextChanged ``` 如果`Entry`小部件中的文本被更改,我們將調用`OnTextChanged`方法。 ```vb Sub OnTextChanged(ByVal sender As Object, _ ByVal args As EventArgs) label.Text = sender.Text End Sub ``` 我們從`Entry`小部件獲取文本并將其設置為標簽。 ![Entry Widget](https://img.kancloud.cn/23/e7/23e7102e357b945fc8ecebdef1d78cb6_258x178.jpg) 圖:`Entry`小部件 ## `ToggleButton` `ToggleButton`是具有兩種狀態的按鈕。 已按下但未按下。 通過單擊可以在這兩種狀態之間切換。 在某些情況下此功能非常合適。 ```vb ' ZetCode Mono Visual Basic GTK# tutorial ' ' This program uses toggle buttons to ' change the background color of ' a widget. ' ' author jan bodnar ' last modified May 2009 ' website www.zetcode.com Imports Gtk Public Class GtkVBApp Inherits Window Dim darea As DrawingArea Dim color As Gdk.Color Public Sub New MyBase.New("Togggle buttons") Me.InitUI Me.SetDefaultSize(350, 240) Me.SetPosition(WindowPosition.Center) AddHandler Me.DeleteEvent, AddressOf Me.OnDelete Me.ShowAll End Sub Private Sub InitUI color = New Gdk.Color(0, 0, 0) Dim redb As New ToggleButton("Red") redb.SetSizeRequest(80, 35) AddHandler redb.Toggled, AddressOf Me.OnToggled Dim greenb As New ToggleButton("Green") greenb.SetSizeRequest(80, 35) AddHandler greenb.Toggled, AddressOf Me.OnToggled Dim blueb As New ToggleButton("Blue") blueb.SetSizeRequest(80, 35) AddHandler blueb.Toggled, AddressOf Me.OnToggled darea = New DrawingArea darea.SetSizeRequest(150, 150) darea.ModifyBg(StateType.Normal, color) Dim fixed As New Fixed fixed.Put(redb, 30, 30) fixed.Put(greenb, 30, 80) fixed.Put(blueb, 30, 130) fixed.Put(darea, 150, 30) Me.Add(fixed) End Sub Private Sub OnToggled(ByVal sender As Object, _ ByVal args As EventArgs) Dim red As Integer = color.Red Dim green As Integer = color.Green Dim blue As Integer = color.Blue If sender.Label.Equals("Red") If sender.Active color.Red = 65535 Else color.Red = 0 End If End If If sender.Label.Equals("Green") If sender.Active color.Green = 65535 Else color.Green = 0 End If End If If sender.Label.Equals("Blue") If sender.Active color.Blue = 65535 Else color.Blue = 0 End If End If darea.ModifyBg(StateType.Normal, color) End Sub Sub OnDelete(ByVal sender As Object, _ ByVal args As DeleteEventArgs) Application.Quit End Sub Public Shared Sub Main Application.Init Dim app As New GtkVBApp Application.Run End Sub End Class ``` 在我們的示例中,我們顯示了三個切換按鈕和一個`DrawingArea`。 我們將區域的背景色設置為黑色。 切換按鈕將切換顏色值的紅色,綠色和藍色部分。 背景顏色取決于我們按下的切換按鈕。 ```vb color = New Gdk.Color(0, 0, 0) ``` 這是將使用切換按鈕更新的顏色值。 ```vb Dim redb As New ToggleButton("Red") redb.SetSizeRequest(80, 35) AddHandler redb.Toggled, AddressOf Me.OnToggled ``` `ToggleButton`小部件已創建。 我們將其大小設置為`80x35`像素。 每個切換按鈕具有相同的處理器方法。 ```vb darea = New DrawingArea darea.SetSizeRequest(150, 150) darea.ModifyBg(StateType.Normal, color) ``` `DrawingArea`小部件是顯示顏色的小部件,由切換按鈕混合。 開始時,它顯示為黑色。 ```vb If sender.Label.Equals("Red") If sender.Active color.Red = 65535 Else color.Red = 0 End If End If ``` 我們根據`Active`屬性的值更新顏色的紅色部分。 ```vb darea.ModifyBg(StateType.Normal, color) ``` 我們更新`DrawingArea`小部件的顏色。 ![ToggleButton widget](https://img.kancloud.cn/a0/75/a075fbddc467a04bdeb06209b44cf5d2_358x268.jpg) 圖:`ToggleButton` widget ## `ComboBox` `ComboBox`是一個小部件,允許用戶從選項列表中進行選擇。 ```vb ' ZetCode Mono Visual Basic GTK# tutorial ' ' In this program, we use the ComboBox ' widget to select an option. ' The selected option is shown in the ' Label widget ' ' author jan bodnar ' last modified May 2009 ' website www.zetcode.com Imports Gtk Public Class GtkVBApp Inherits Window Dim lbl As Label Public Sub New MyBase.New("ComboBox") Me.InitUI Me.SetDefaultSize(350, 240) Me.SetPosition(WindowPosition.Center) AddHandler Me.DeleteEvent, AddressOf Me.OnDelete Me.ShowAll End Sub Private Sub InitUI Dim distros() As String = New String() { _ "Ubuntu", _ "Mandriva", _ "Red Hat", _ "Fedora", _ "Gentoo" _ } Dim fixed As New Fixed Dim cb As New ComboBox(distros) AddHandler cb.Changed, AddressOf Me.OnChanged lbl = New Label("...") fixed.Put(cb, 50, 40) fixed.Put(lbl, 50, 140) Me.Add(fixed) End Sub Private Sub OnChanged(ByVal sender As Object, _ ByVal args As EventArgs) lbl.Text = sender.ActiveText End Sub Sub OnDelete(ByVal sender As Object, _ ByVal args As DeleteEventArgs) Application.Quit End Sub Public Shared Sub Main Application.Init Dim app As New GtkVBApp Application.Run End Sub End Class ``` 該示例顯示了一個組合框和一個標簽。 組合框具有六個選項的列表。 這些是 Linux Distros 的名稱。 標簽窗口小部件顯示了從組合框中選擇的選項。 ```vb Dim distros() As String = New String() { _ "Ubuntu", _ "Mandriva", _ "Red Hat", _ "Fedora", _ "Gentoo" _ } ``` 這是一個字符串數組,將顯示在`ComboBox`小部件中。 ```vb Dim cb As New ComboBox(distros) ``` `ComboBox`小部件已創建。 構造器將字符串數組作為參數。 ```vb Private Sub OnChanged(ByVal sender As Object, _ ByVal args As EventArgs) lbl.Text = sender.ActiveText End Sub ``` 在`OnChanged`方法內部,我們從組合框中獲取選定的文本并將其設置為標簽。 ![ComboBox](https://img.kancloud.cn/d9/13/d913607b6932e168c2c845c3ae02e736_358x268.jpg) 圖:`ComboBox` 在本章中,我們使用 Visual Basic 語言展示了 GTK# 編程庫的一些基本小部件。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看