vb 窗体html表格,VB.Net – 高级表格

在本章中,让我们研究以下概念 :

在应用程序中添加菜单和子菜单

在表单中添加剪切,复制和粘贴功能

锚定和对接控件表格

模态表格

添加菜单和子菜单应用程序中的菜单

传统上,菜单,MainMenu,ContextMenu和MenuItem类用于在Windows应用程序中添加菜单,子菜单和上下文菜单.

现在,MenuStrip,ToolStripMenuItem,ToolStripDropDown和ToolStripDropDownMenu控件替换和添加以前版本的菜单相关控件的功能.但是,保留旧的控件类以便向后兼容和将来使用.

让我们首先使用旧版本控件创建一个典型的Windows主菜单栏和子菜单,因为这些控件仍然是在旧应用程序中使用很多.

以下是一个示例,它显示了我们如何使用菜单项创建菜单栏:文件,编辑,视图和项目.文件菜单有子菜单新建,打开和保存.

让我们双击表格并将以下代码放在打开的窗口中.

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 = "IT屋.com"

End Sub

End Class

执行上述代码时并使用Microsoft Visual Studio工具栏上的”开始”按钮运行,它将显示以下窗口 :

vb.net_advanced_forms1.jpg%20

Windows窗体包含一组丰富的类,用于创建具有现代外观,外观和感觉的自定义菜单. MenuStrip,ToolStripMenuItem,ContextMenuStrip控件用于有效地创建菜单栏和上下文菜单.

点击以下链接查看他们的详细信息 :

Sr.No.

Control&说明

1

MenuStrip

它为表单提供了一个菜单系统.

2

ToolStripMenuItem

它表示MenuStrip上显示的可选选项或ContextMenuStrip. ToolStripMenuItem控件替换和添加以前版本的MenuItem控件的功能.

3

ContextMenuStrip

它代表一个快捷菜单.

添加剪切,复制和粘贴表单中的功能

ClipBoard类公开的方法用于在应用程序中添加剪切,复制和粘贴功能. ClipBoard类提供了在系统剪贴板上放置数据和从中检索数据的方法.

它有以下常用方法 :

Sr.No.

方法名称&说明

1

Clear

从剪贴板中删除所有数据.

2

ContainsData

表示是否有剪贴板上指定格式的数据,或者可以转换为该格式.

3

ContainsImage

表示是否有数据在剪贴板上的Bitmap格式或可以转换为该格式.

4

ContainsText

表示是否有数据Text或UnicodeText格式的剪贴板,具体取决于操作系统.

5

GetData

从指定的剪贴板中检索数据格式.

6

GetDataObject

检索系统剪贴板上当前的数据.

7

GetImage

从剪贴板中检索图像.

8

GetText

从文本中的剪贴板中检索文本数据或UnicodeText格式,取决于操作系统.

9

GetText(TextDataFormat)

以指示的格式从剪贴板中检索文本数据指定的TextDataFormat值.

10

SetData

清除剪贴板,然后以指定的格式添加数据.

11

SetText(String)

清除剪贴板,然后以Text或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 = "IT屋.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

执行上述代码并使用开始按钮avai运行在Microsoft Visual Studio工具栏中,它将显示以下窗口 :

c0016c164980bc909af68ea4a902906b.png

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

在表单中锚定和停靠控件

锚定允许您将控件的锚位置设置为其容器控件的边缘,例如表单. Control类的Anchor属性允许您设置此属性的值. Anchor属性获取或设置控件绑定到的容器的边缘,并确定如何使用其父控件调整控件的大小.

将控件锚定到窗体时,控件在调整窗体大小时,它会保持与窗体边缘及其固定位置的距离.

您可以从”属性”窗口中设置控件的Anchor属性值 :

6f79c547fb6506ee627bf171e8e52064.png

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

72a11bea3c6a99d05bac31f54e3f3993.png

现在,当您拉伸表单时,Button与表单右下角之间的距离保持不变.

1ae9767502215cb64d37391907e67377.png

控件的停靠意味着停靠它到其容器的一个边缘.在对接中,控件完全填充容器的某个区域.

Control类的Dock属性执行此操作. Dock属性获取或设置哪些控件边框停靠在其父控件上,并确定如何使用其父控件调整控件的大小.

您可以从Properties设置控件的Dock属性值window :

3f7018271530d5dd5a6fc3edf51b2991.png

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

1703391f01015bc3068ea632618cab8c.png

现在,当您拉伸表单时,Button会使用表单调整自身大小.

c84d27764ba1a2deaa3d4e99048a66fa.png

模态表格

模态表格是那些需要关闭或隐藏的表单,然后才能继续使用应用程序的其余部分.所有对话框都是模态形式. MessageBox也是一种模态形式.

您可以通过两种方式调用模态形式 :

调用ShowDialog方法

调用显示方法

让我们举一个例子,我们将创建一个模态表单,一个对话框.请执行以下步骤 :

将表单Form1添加到应用程序中,并添加两个标签和一个按钮控件Form1

分别将第一个标签和按钮的文本属性更改为”欢迎使用教程点”和”输入您的姓名”.将第二个标签的文本属性保留为空白.

231f8a87e4dc9eb0217c296e077d9e13.png

添加新的Windows窗体,Form2,并添加两个按钮,一个标签,以及Form2的文本框.

分别将按钮的文本属性更改为”确定”和”取消”.将标签的文本属性更改为”输入您的姓名:”.

将Form2的FormBorderStyle属性设置为FixedDialog,用于给它一个对话框边框.

将Form2的ControlBox属性设置为False.

将Form2的ShowInTaskbar属性设置为False.

将OK按钮的DialogResult属性设置为OK,将Cancel按钮设置为Cancel.

dbbd1f916611f5201e1303a43a00a4f0.png

在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 Form2_Load(sender As Object, e As EventArgs) _

Handles MyBase.Load

AcceptButton = Button1

CancelButton = Button2

End Sub

当使用Microsoft Visual Studio工具栏上的开始按钮执行并运行上述代码时,它将显示以下窗口 :

2e592bbd92017a17981dc59409fe88ab.png

点击”输入您的姓名”按钮显示第二种形式 :

beb038bbeafd1ccbd112e5b258ffd2ed.png

单击”确定”按钮将控件和信息从模态窗体返回到上一个窗体 :

a9d46899eafccd2b1c5db5d3bdeafaf4.png

表格控件总览:   在VB开发环境中,表格控件在界面开发元素中占有重要的地位。它不仅有外观整洁、表达形式规范的优点,而且更重要的是它较高的信息表现率(就是相对于其他控件来说能够表达更多的信息),随着信息时代的到来,它的应用将更加的广泛。    那么在VB平台下,如何操作这一功能强大的控件元素呢?事实上我们知道,VB平台下面的表格控件是相当丰富的,总结下来提供了4种类型:Microsoft Data Bound grid Control、Microsoft Datagrid Control、Microsoft Flexgrid Control、Microsoft Hierarchial Flexgrid Control. 这四种表格各有其特点,下面我们一一讨论。   1. Microsoft Data Bound grid Control   此控件主要用于数据绑定(可以不绑定,但是因为不提供对单个cell的控制支持,所以实际上这样做是不经济的)。具体说来,就是数据源比较固定的情况下可以使用这种控件。   具体使用方法是设定此控件的datasource属性,就可以不用编写任何代码就可以显示该数据源所指向的记录数据。比如可以将datasource设置为一个data控件,而data控件又指向数据库"成绩"的 一个"语文"表,那么当程序运行时,它就自动显示此"语文"表的数据。 基本步骤如下: 1、向工程上添加Microsoft Data Bound Grid Control控件,即DBGrid控件。 2、在窗体上添加DBGrid控件DBGrid1和Data控件Data1。 3、设置Data1的DatabaseName属性为你要看的数据库的名字。 4、设置Data1的RecordSource属性为表的名字或合法的SQL Select语句。 5、设置DBGrid1的DataSource属性为Data1。   从上面的分析看得出来,这个控件虽然操作方便,但是它也有局限性,就是不能对显示的数据进行灵活的控制操作,比如有些数据允许用户修改,有些数据却不允许用户修改,而此控件却只能提供全部数据源的原子操作:即要么全部允许修改,要么就全部不允许。还有另外此控件也不提供对单个单元格(cell)进行操作,所以提供不了更为个性化的界面风格。   2. Microsoft Datagrid Control   此控件跟前面介绍的Data Bound grid Control控件很相似,也是主要进行绑定操作,而缺点和Data Bound grid Control完全一样。但是它跟Data Bound grid Control不一样的是其数据源的驱动引擎只能是OLEDB形式的,不能是DAO,比如就可以使用ADO数据控件,不能使用DATA控件。而Data Bound grid Control却刚好和它相反,这一点在开发中一定要注意。   3. Microsoft Flexgrid Control与Microsoft Hierarchial Flexgrid Control.   这里重点介绍这两种控件,因为在实际开发中,这两种控件应用的场合更多一些,它不仅能够反映数据,而且也能把数据的修改信息反映到数据库中去,所以弥补了上述两种控件的不足。   如果数据不需要修改,那么可以进行绑定操作,其方法跟前面介绍的完全一样,就是通过设置DataSource属性来完成数据的显示工作。但是实际开发中,需要对整个表格控件更为灵活的显示控制。   在给出例程之前,有必要对这一控件进行比较详尽的认识:这种控件允许将文本或者图象放置于每个单元格之中,控件的Row与Col属性允许用户在代码中指定当前行和列,当然也可通过操作鼠标和键盘来改变这两个属性,而text属性指明当前单元格的文本。如果单元格的文本太长而不能完全显示出来的话,可以通过将WordWrap属性设置为true来达到显示的目的。下面将比较重要的属性小结如下:   DataSource---------用来指定需要绑定的数据源,比如data控件。   Cellpicture----------用来设定当前单元格的图象,便于显示该图象。此属性不能在设计时使用。   Col,Row---------------设定当前列和当前行,注意它们均是从0开始的,如果同时设定它们,可以指定当前的单元格。设计时也不能使用。   Cols,Rows---------------设置表格控件总的列数和行数。   Hwnd---------------表格句柄,可以结合Windows API对表格控件进行更高级的控制。   Text---------------指定当前的单元格的文本内容。   TextMatrix(i,j)-------此属性比较重要,它用来指定第I行和第j列所确定的单元格的文本内容。它等价于下面的代码: MSHFlexGrid1.Rows =i MSHFlexGrid1.Cols =j MSHFlexGrid1.Text =指定的字符串   WordWrap-------为ture时可以在当前单元格换行显示,否则如果要显示的字符的长度超过列宽,那么就不能显示完全。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值