在本章中,我们将研究以下概念:
在应用程序中添加菜单和子菜单
在表单中添加剪切,复制和粘贴功能
锚定和对接控制在一种形式
模态形式
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工具栏上的“开始”按钮执行并运行上述代码时,将显示以下窗口:

Windows窗体包含一组丰富的类,用于创建您自己的具有现代外观,外观和感觉的自定义菜单。 MenuStrip,ToolStripMenuItem,ContextMenuStrip控件用于有效地创建菜单栏和上下文菜单。
点击以下链接查看他们的详细信息:
| S.N. | Control & Description |
|---|---|
| 1 | It provides a menu system for a form. 它为表单提供了一个菜单系统。 |
| 2 | It represents a selectable option displayed on a MenuStrip orContextMenuStrip. The ToolStripMenuItem control replaces and adds functionality to the MenuItem control of previous versions. 它表示在MenuStrip或ContextMenuStrip上显示的可选选项。 ToolStripMenuItem控件替换和添加以前版本的MenuItem控件的功能。 |
| 2 | It represents a shortcut menu. 它代表一个快捷菜单。 |
| SN | 方法名称和说明 |
|---|---|
| 1 | Clear Removes all data from the Clipboard. 删除从剪贴板中的所有数据。 |
| 2 | ContainsData Indicates whether there is data on the Clipboard that is in the specified format or can be converted to that format. 指示是否有上是在指定的格式或可转换成此格式的剪贴板中的数据。 |
| 3 | ContainsImage Indicates whether there is data on the Clipboard that is in the Bitmap format or can be converted to that format. 指示是否有关于那就是在Bitmap格式或可转换成该格式剪贴板数据。 |
| 4 | ContainsText Indicates whether there is data on the Clipboard in the Text or UnicodeText format, depending on the operating system. 指示是否在文本或UnicodeText格式剪贴板中的数据,根据不同的操作系统。 |
| 5 | GetData Retrieves data from the Clipboard in the specified format. 从指定格式的剪贴板中检索数据。 |
| 6 | GetDataObject Retrieves the data that is currently on the system Clipboard. 检索是目前系统剪贴板中的数据。 |
| 7 | getImage Retrieves an image from the Clipboard. 检索从剪贴板中的图像。 |
| 8 | getText Retrieves text data from the Clipboard in the Text or UnicodeText format, depending on the operating system. 从文本或UnicodeText格式剪贴板中检索文本数据,根据不同的操作系统。 |
| 9 | getText(TextDataFormat) Retrieves text data from the Clipboard in the format indicated by the specified TextDataFormat value. 从由指定TextDataFormat值指示的格式剪贴板中检索文本数据。 |
| 10 | SetData Clears the Clipboard and then adds data in the specified format. 清除剪贴板,然后以指定的格式将数据添加。 |
| 11 | setText(String) Clears the Clipboard and then adds text data in the Text or UnicodeText format, depending on the operating system. 清除剪贴板,然后添加在文本或UnicodeText格式的文本数据,根据不同的操作系统。 |
以下是一个示例,其中显示了如何使用Clipboard类的方法剪切,复制和粘贴数据。 执行以下步骤:
在表单上添加丰富的文本框控件和三个按钮控件。
将按钮的文本属性分别更改为“剪切”,“复制”和“粘贴”。
双击按钮,在代码编辑器中添加以下代码:
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工具栏上的“开始”按钮执行并运行上述代码时,将显示以下窗口:

输入一些文本并检查按钮的工作方式。

输入一些文本并检查按钮的工作方式。

现在,当拉伸窗体时,Button和窗体右下角之间的距离保持不变。


例如,让我们在表单上添加一个Button控件,并将其Dock属性设置为Bottom。 运行此窗体以查看Button控件相对于窗体的原始位置。

现在,当你拉伸窗体时,Button会调整窗体的大小。

您可以通过两种方式调用模式窗体:
调用ShowDialog方法
调用Show方法
让我们举一个例子,我们将创建一个模态形式,一个对话框。 执行以下步骤:
将表单Form1添加到您的应用程序,并向Form1添加两个标签和一个按钮控件
将第一个标签和按钮的文本属性分别更改为“欢迎使用教程点”和“输入您的名称”。 将第二个标签的文本属性保留为空。

添加一个新的Windows窗体,Form2,并向Form2添加两个按钮,一个标签和一个文本框。
将按钮的文本属性分别更改为“确定”和“取消”。 将标签的文本属性更改为“输入您的姓名:”。
将Form2的FormBorderStyle属性设置为FixedDialog,为其提供对话框边框。
将Form2的ControlBox属性设置为False。
将Form2的ShowInTaskbar属性设置为False。
将OK按钮的DialogResult属性设置为OK,将Cancel按钮设置为Cancel。

在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工具栏上的“开始”按钮执行并运行上述代码时,将显示以下窗口:

点击“输入您的姓名”按钮显示第二个表单:

单击确定按钮将控制和信息从模态形式返回到先前的形式:
