VB.Net - 高級表單

2022-05-25 17:19 更新

在本章中,我們將研究以下概念:

  • 在應用程序中添加菜單和子菜單

  • 在表單中添加剪切,復制和粘貼功能

  • 錨定和對接控制在一種形式

  • 模態(tài)形式

在應用程序中添加菜單和子菜單

傳統(tǒng)上,Menu,MainMenu,ContextMenu和MenuItem類用于在Windows應用程序中添加菜單,子菜單和上下文菜單。

現(xiàn)在,MenuStrip,ToolStripMenuItem,ToolStripDropDown和ToolStripDropDownMenu控件替換和添加功能到以前版本的菜單相關的控件。 但是,舊的控制類保留為向后兼容和未來使用。

讓我們首先使用舊版本控件創(chuàng)建典型的Windows主菜單欄和子菜單,因為這些控件在舊應用程序中仍然很常用。

以下是一個示例,顯示了如何使用菜單項創(chuàng)建菜單欄:文件,編輯,視圖和項目。 文件菜單有子菜單新建,打開和保存。

讓我們雙擊窗體,并在打開的窗口中放下面的代碼。

Public Class Form1
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
      'defining the main menu bar
      Dim mnuBar As New MainMenu()
      'defining the menu items for the main menu bar
      Dim myMenuItemFile As New MenuItem("&File")
      Dim myMenuItemEdit As New MenuItem("&Edit")
      Dim myMenuItemView As New MenuItem("&View")
      Dim myMenuItemProject As New MenuItem("&Project")

      'adding the menu items to the main menu bar
      mnuBar.MenuItems.Add(myMenuItemFile)
      mnuBar.MenuItems.Add(myMenuItemEdit)
      mnuBar.MenuItems.Add(myMenuItemView)
      mnuBar.MenuItems.Add(myMenuItemProject)

     ' defining some sub menus
      Dim myMenuItemNew As New MenuItem("&New")
      Dim myMenuItemOpen As New MenuItem("&Open")
      Dim myMenuItemSave As New MenuItem("&Save")

      'add sub menus to the File menu
      myMenuItemFile.MenuItems.Add(myMenuItemNew)
      myMenuItemFile.MenuItems.Add(myMenuItemOpen)
      myMenuItemFile.MenuItems.Add(myMenuItemSave)

      'add the main menu to the form
      Me.Menu = mnuBar
     
      ' Set the caption bar text of the form.  
      Me.Text = "tutorialspoint.com"
   End Sub
End Class

當使用Microsoft Visual Studio工具欄上的“開始”按鈕執(zhí)行并運行上述代碼時,將顯示以下窗口:

VB.Net菜單示例

Windows窗體包含一組豐富的類,用于創(chuàng)建您自己的具有現(xiàn)代外觀,外觀和感覺的自定義菜單。 MenuStrip,ToolStripMenuItem,ContextMenuStrip控件用于有效地創(chuàng)建菜單欄和上下文菜單。

點擊以下鏈接查看他們的詳細信息:

S.N.Control & Description
1

MenuStrip

它為表單提供了一個菜單系統(tǒng)。

2

ToolStripMenuItem

它表示在MenuStrip或ContextMenuStrip上顯示的可選選項。 ToolStripMenuItem控件替換和添加以前版本的MenuItem控件的功能。

2

ContextMenuStrip

它代表一個快捷菜單。

在表單中添加剪切,復制和粘貼功能

ClipBoard類公開的方法用于在應用程序中添加剪切,復制和粘貼功能。 ClipBoard類提供了在系統(tǒng)剪貼板上放置數(shù)據(jù)和檢索數(shù)據(jù)的方法。

它有以下常用的方法:

SN方法名稱和說明
1

Clear

刪除從剪貼板中的所有數(shù)據(jù)。

2

ContainsData

指示是否有上是在指定的格式或可轉換成此格式的剪貼板中的數(shù)據(jù)。

3

ContainsImage

指示是否有關于那就是在Bitmap格式或可轉換成該格式剪貼板數(shù)據(jù)。

4

ContainsText

指示是否在文本或UnicodeText格式剪貼板中的數(shù)據(jù),根據(jù)不同的操作系統(tǒng)。

5

GetData

從指定格式的剪貼板中檢索數(shù)據(jù)。

6

GetDataObject

檢索是目前系統(tǒng)剪貼板中的數(shù)據(jù)。

7

getImage

檢索從剪貼板中的圖像。

8

getText

從文本或UnicodeText格式剪貼板中檢索文本數(shù)據(jù),根據(jù)不同的操作系統(tǒng)。

9

getText(TextDataFormat)

從由指定TextDataFormat值指示的格式剪貼板中檢索文本數(shù)據(jù)。

10

SetData

清除剪貼板,然后以指定的格式將數(shù)據(jù)添加。

11

setText(String)

清除剪貼板,然后添加在文本或UnicodeText格式的文本數(shù)據(jù),根據(jù)不同的操作系統(tǒng)。

以下是一個示例,其中顯示了如何使用Clipboard類的方法剪切,復制和粘貼數(shù)據(jù)。 執(zhí)行以下步驟:

  • 在表單上添加豐富的文本框控件和三個按鈕控件。

  • 將按鈕的文本屬性分別更改為“剪切”,“復制”和“粘貼”。

  • 雙擊按鈕,在代碼編輯器中添加以下代碼:

Public Class Form1
   Private Sub Form1_Load(sender As Object, e As EventArgs) _ 
    Handles MyBase.Load
      ' Set the caption bar text of the form.  
      Me.Text = "tutorialspoint.com"
   End Sub
   Private Sub Button1_Click(sender As Object, e As EventArgs) _ 
      Handles Button1.Click
      Clipboard.SetDataObject(RichTextBox1.SelectedText)
      RichTextBox1.SelectedText = ""
   End Sub
   Private Sub Button2_Click(sender As Object, e As EventArgs) _
       Handles Button2.Click
      Clipboard.SetDataObject(RichTextBox1.SelectedText)
   End Sub
   Private Sub Button3_Click(sender As Object, e As EventArgs) _
    Handles Button3.Click
      Dim iData As IDataObject
      iData = Clipboard.GetDataObject()
      If (iData.GetDataPresent(DataFormats.Text)) Then
          RichTextBox1.SelectedText = iData.GetData(DataFormats.Text)
      Else
          RichTextBox1.SelectedText = " "
      End If
   End Sub
End Class

當使用Microsoft Visual Studio工具欄上的“開始”按鈕執(zhí)行并運行上述代碼時,將顯示以下窗口:

VB.Net剪切,粘貼,復制示例

輸入一些文本并檢查按鈕的工作方式。

錨定???/span>窗體控件

錨定允許設置控件定位點位置容器控件,例如窗體邊緣。控件 Anchor 屬性允許設置屬性。Anchor 屬性獲取設置一個控件綁定確定如何調(diào)整控件大小容器邊緣。
錨定窗體控件,控件維護距離邊緣形式位置,窗體調(diào)整。
可以屬性窗口設置控件屬性

控件的VB.Net錨固

輸入一些文本并檢查按鈕的工作方式。

例如,讓我們在表單上添加一個Button控件,并將其anchor屬性設置為Bottom,Right。 運行此窗體以查看Button控件相對于窗體的原始位置。

VB.Net錨例

現(xiàn)在,當拉伸窗體時,Button和窗體右下角之間的距離保持不變。

VB.Net錨例

控制裝置的對接意味著將其對接到其容器的邊緣之一。 在對接中,控制完全填充容器的某些區(qū)域。

Control類的Dock屬性執(zhí)行此操作。 Dock屬性獲取或設置哪些控件邊界??康狡涓缚丶?,并確定如何使用其父控件調(diào)整控件大小。

您可以從“屬性”窗口設置控件的Dock屬性值:

控件的VB.Net對接

例如,讓我們在表單上添加一個Button控件,并將其Dock屬性設置為Bottom。 運行此窗體以查看Button控件相對于窗體的原始位置。

VB.Net實例對接

現(xiàn)在,當你拉伸窗體時,Button會調(diào)整窗體的大小。

VB.Net實例對接

模式窗體

模式窗體是需要關閉或隱藏的窗體,然后才能繼續(xù)使用其余應用程序。 所有對話框都是模態(tài)窗體。 

MessageBox也是一種模態(tài)形式。您可以通過兩種方式調(diào)用模式窗體:

  • 調(diào)用ShowDialog方法

  • 調(diào)用Show方法

讓我們舉一個例子,我們將創(chuàng)建一個模態(tài)形式,一個對話框。 執(zhí)行以下步驟:

  • 將表單Form1添加到您的應用程序,并向Form1添加兩個標簽和一個按鈕控件

  • 將第一個標簽和按鈕的文本屬性分別更改為“歡迎使用教程點”和“輸入您的名稱”。 將第二個標簽的文本屬性保留為空。

    VB.Net模式窗體示例
  • 添加一個新的Windows窗體,F(xiàn)orm2,并向Form2添加兩個按鈕,一個標簽和一個文本框。

  • 將按鈕的文本屬性分別更改為“確定”和“取消”。 將標簽的文本屬性更改為“輸入您的姓名:”。

  • 將Form2的FormBorderStyle屬性設置為FixedDialog,為其提供對話框邊框。

  • 將Form2的ControlBox屬性設置為False。

  • 將Form2的ShowInTaskbar屬性設置為False。

  • 將OK按鈕的DialogResult屬性設置為OK,將Cancel按鈕設置為Cancel。

VB.Net模式窗體示例

在Form2的Form2_Load方法中添加以下代碼片段:

Private Sub Form2_Load(sender As Object, e As EventArgs) _
   Handles MyBase.Load
   AcceptButton = Button1
   CancelButton = Button2
End Sub

在Form1的Button1_Click方法中添加以下代碼片段:

Private Sub Button1_Click(sender As Object, e As EventArgs) _
   Handles Button1.Click
   Dim frmSecond As Form2 = New Form2()
   If frmSecond.ShowDialog() = DialogResult.OK Then
      Label2.Text = frmSecond.TextBox1.Text
   End If
End Sub

當使用Microsoft Visual Studio工具欄上的“開始”按鈕執(zhí)行并運行上述代碼時,將顯示以下窗口:

VB.Net模式窗體示例

點擊“輸入您的姓名”按鈕顯示第二個表單:

VB.Net模式窗體示例

單擊確定按鈕將控制和信息從模態(tài)形式返回到先前的形式:

VB.Net模式窗體示例


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號