vb.net菜单控件 vb基本控件

VB.NET 左侧菜单控件

vb.net没有现成的那种控件

创新互联建站专业IDC数据服务器托管提供商,专业提供成都服务器托管,服务器租用,西云机房西云机房,成都多线服务器托管等服务器托管服务。

1,可以用标签控件自己来生成

2,用第三方DevComponents.DotNetBar2.dll的ExplorerBar控件能实现类似的效果

VB.NET菜单设计初级入门[2]

二.MainMenu类 MenuItem类和ContextMenu类

虽然使用菜单设计器能够设计出各种菜单 但要真正掌握VB NET中的菜单编程 还必须了解并灵活使用MainMenu类 MenuItem类和ContextMenu类 其中MainMenu类和ContextMenu类所起的作用是相似的 它们的作用是提供一个菜单项容器 里面可以存放各种菜单项

MainMenu类表示的是下拉菜单的结构 里面存放的菜单项其实就是MenuItem实例 在创建完MainMenu实例后 必须要把此实例绑定到要显示此菜单的Form中 下拉菜单才能够显示 而要实现这种绑定其实非常简单 只需把MainMenu实例分配给Form的Menu属性就可以了

ContextMenu类表示当用户在控件或窗体的特定区域上单击鼠标右键时弹出的菜单结构 可视控件和Form窗体一般都有ContextMenu属性 要显示ContextMenu实例 只需把ContextMenu实例分配给要显示此弹出菜单的可视组件或Form窗体的ContextMenu 属性就可以了 多个组件可共同使用一个ContextMenu实例 MenuItem类表示的是MainMenu和ContextMenu中的每一个菜单项 显示创建的MenuItem实例 必须使用MainMenu或ContextMenu中的 Add 方法把MenuItem实例加入 若要创建子菜单 可以使用父MenuItem实例的 Add 方法把MenuItem实例添加到其MenuItems属性中

MenuItem类还提供一些属性用以设定菜单项的外观和功能 若要显示菜单项旁边的选中标记 可以使用Checked 属性 Shortcut属性可用于设定此菜单项对应的键盘组合键

下面就通过下面一个示例来具体了解上面三个类的使用方法 三.使用MainMenu类 MenuItem类和ContextMenu类动态创建菜单

下面就利用mainMenu类 MenuItem类和ContextMenu类动态创建图 所示的由菜单设计器设计出的菜单 其中包括下拉菜单和弹出菜单 下面是具体步骤

启动Visual Studio Net

选择菜单【文件】|【新建】|【项目】后 弹出【新建项目】对话框

将【项目类型】设置为【Visual Basic项目】

将【模板】设置为【Windows应用程序】

在【名称】文本框中输入【动态创建菜单】

在【位置】的文本框中输入【E:\VS NET项目】 然后单击【确定】按钮 这样在 E:\VS NET项目 目录中就产生了名称为 动态创建菜单 的文件夹 并在里面创建了名称为 动态创建菜单 的项目文件

把Visual Studio Net的当前窗口切换到【Form vb(设计)】窗口 并从【工具箱】中的【Windows窗体组件】选项卡中往Form 窗体中拖入下列组件 并执行相应操作

二个Button组件 名称分别为Button 和Button 并在这二个组件拖入窗体后 分别设定这二个组件的 Text 属性值为 创建下拉菜单 和 创建弹出菜单 之后再分别双击 这样Visual Basic Net会在Form vb中分别产生这二个组件的Click事件对应的处理代码

把Visual Basic Net的当前窗口切换到Form vb的代码编辑窗口 并用下拉代码替换Form vb中的Button 的Click事件对应的处理代码 下拉代码的作用是动态创建图 中的下拉菜单

Private Sub Button _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles Button Click Dim MainMenu As MainMenu = New MainMenu ( )  创建一个MainMenu实例 Dim myMenuItem As MenuItem = New MenuItem ( ) Dim myMenuItem As MenuItem = New MenuItem ( ) Dim myMenuItem As MenuItem = New MenuItem ( ) Dim myMenuItem As MenuItem = New MenuItem ( ) myMenuItem Text = 文件(F)  myMenuItem Text = 新建(N)  myMenuItem Text =  myMenuItem Text = 打开(O)   创建四个MenuItem实例 并进行相应设置 myMenuItem MenuItems Add ( myMenuItem ) myMenuItem MenuItems Add ( myMenuItem ) myMenuItem MenuItems Add ( myMenuItem )  以myMenuItem 是myMenuItem myMenuItem 和myMenuItem 的父菜单项 MainMenu MenuItems Add ( myMenuItem )  在MainMenu实例中加入MainItem实例 Me Menu = MainMenu   把MainMenu 指派给Form的的Menu属性 这样下拉菜单才能够显示 Button Enabled = FalseEnd Sub 

用下列代码替换Form vb中的Button 的Click事件对应的处理代码 下拉代码的作用是动态创建图 中的弹出菜单

Private Sub Button _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles Button Click Dim ContextMenu As ContextMenu = New ContextMenu ( )  创建一个ContextMenu实例 Dim myMenuItem As MenuItem = New MenuItem ( ) Dim myMenuItem As MenuItem = New MenuItem ( ) Dim myMenuItem As MenuItem = New MenuItem ( ) myMenuItem Text = 拷贝(C)  myMenuItem Text = 剪切(X)  myMenuItem Text = 粘贴(V)   创建三个MenuItem实例 并进行相应设置 ContextMenu MenuItems Add ( myMenuItem ) ContextMenu MenuItems Add ( myMenuItem ) ContextMenu MenuItems Add ( myMenuItem )  在ContextMenu 中加入MenuItem Me ContextMenu = ContextMenu   把ContextMenu 指派给Form的ContextMenu属性 显示弹出菜单 Button Enabled = FalseEnd Sub

至此【动态创建菜单】项目的全部工作就完成了 单击快捷键 F 运行程序 单击程序中的【创建下拉菜单】按钮 则创建出图 所示的下拉菜单 单击程序中的【创建弹出菜单】 则动态创建出图 所示的弹出菜单

如果您要创建的菜单中的菜单项还有子菜单 可以根据菜单项中的父子关系 把子菜单项加入到父菜单项 然后再把父菜单项加入上一级的菜单项或MainMenu和ContextMenu实例中 下面代码作用是创建图 所示的下拉菜单 如果是弹出菜单 其做法类似

Private Sub Button _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles Button Click Dim ContextMenu As ContextMenu = New ContextMenu ( )  创建一个ContextMenu实例 Dim myMenuItem As MenuItem = New MenuItem ( ) Dim myMenuItem As MenuItem = New MenuItem ( ) Dim myMenuItem As MenuItem = New MenuItem ( ) myMenuItem Text = 拷贝(C)  myMenuItem Text = 剪切(X)  myMenuItem Text = 粘贴(V)   创建三个MenuItem实例 并进行相应设置 ContextMenu MenuItems Add ( myMenuItem ) ContextMenu MenuItems Add ( myMenuItem ) ContextMenu MenuItems Add ( myMenuItem )  在ContextMenu 中加入MenuItem Me ContextMenu = ContextMenu   把ContextMenu 指派给Form的ContextMenu属性 显示弹出菜单 Button Enabled = FalseEnd Sub

图 动态创建存在子菜单的下拉菜单

四. Net Frame Work SDK 为在VB Net绘制菜单提供的工具

Net Frame Work SDK为Visual Basic Net实现个性化菜单提供了许多工具 其中最重要是二个事件及其参数 DrawItem事件和其中的DrawItemEventArgs参数 MeasureItem事件和其中的MeasureItemEventArgs参数

DrawItem事件和其中的DrawItemEventArgs参数

DrawItem事件是当菜单项的OwnerDraw属性设置为True并且发出绘制菜单项的请求时才发生 个性化菜单制作的处理方法就是在此事件中完成的 在DrawItem事件处理程序中将接收一个 DrawItemEventArgs类型的参数 它包含与此事件相关的数据 这些数据对绘制菜单是很重要的 表 是DrawItemEventArgs类型参数提供特定于此事件的信息

 表 DrawItemEventArgs类型参数提供DrawItem事件特定的信息

MeasureItem事件和其中的MeasureItemEventArgs参数

触发MeasureItem事件必须将菜单项的OwnerDraw属性设置为True 个性化菜单制作可通过此事件来获取 设定菜单项的大小等 MeasureItem事件处理程序中接收一个MeasureItemEventArgs类型的参数 此参数对获取 设定菜单项的大小是非常重要的 表 是MeasureItemEventArgs类型参数提供MeasureItem事件的特定信息

表 是MeasureItemEventArgs类型参数提供MeasureItem事件的特定信息

lishixinzhi/Article/program/net/201311/15453

1、什么情况下应该使用Label控件? 2、VB.NET中菜单控件有哪几种类型?是否可以为命令按钮添加上下文菜单

1、Label控件用于标注、提示其他控件的性质、作用、内容等不需要用户编辑的文本,也可以用来简单输出少量的文本内容。Windows 窗体 Label 控件还可以用来为其他控件定义访问键。在标签 (Label) 控件中定义访问键时,用户可以按 ALT 键和指定字符将焦点移动到 Tab 键顺序中的下一个控件上。因为标签无法接收焦点,所以焦点自动移动到 Tab 键顺序中的下一个控件上。使用该技术向文本框、组合框、列表框和数据网格分配访问键。

2、VB.NET中菜单控件有MenuStrip和ContextMenuStrip等2种。

MenuStrip主要用于常规的菜单系统设计。创建支持高级用户界面和布局功能的易自定义的常用菜单,例如文本和图像排序和对齐、拖放操作、MDI、溢出和访问菜单命令的其他模式。

ContextMenuStrip主要用于创建上下文菜单或右键菜单。

要显示上下文菜单,或在用户右击鼠标时显示一个菜单,就使用ContextMenuStrip类。与MenuStrip一样,ContextMenuStrip也是ToolStripMenuItems对象的容器,但它派生于ToolStripDropDownMenu。ContextMenu的创建与MenuStrip相同,也是添加ToolStripMenuItems,定义每一项的Click事件,执行某个任务。弹出菜单应赋予特定的控件,为此,要设置控件的ContextMenuStrip属性。在用户右击该控件时,就显示该菜单。

VB.NET中的TextBox控件详解

TextBox组件(文本框组件)是一种常用的 也是比较容易掌握的组件 应用程序主要使用它来接收使用者于输入文字信息 在前面内容中已经或多或少的接触到TextBox组件 本节就来详细探讨一下Visual 中TextBox组件的使用方法 一 TextBox组件 TextBox类 当我们使用Visual Basic Net集成开发环境开发应用程序时 在从【工具箱】的【Windows窗体】选项卡中向Form 的设计窗体拖入一个TextBox组件的后 我们可能并没有感觉到即使时这样一个简单的操作 Visual Basic Net都做了很多幕后工作 主要工作和步骤如下 首先实例化System Windows Forms TextBox类 并根据拖动到窗体的位置和形状分别设定TextBox实例的各个属性 我们看到的设计窗体 其实是Form 类的一个实例 而Form 类首先是从System Windows Forms Form类继承而来 Form 类中的成员根据使用者往窗体中拖入的组件不同而不同 各个成员通过Add或AddRange方法加入到Form 中 这样拖入的组件才能够显示在设计窗体上 以上这些都完全不同于以前Visual Basic 通过上述步骤 我们不难得到TextBox组件和TextBox类之间的关系 TextBox组件是命名空间System Windows Forms中的TextBox类的实例 在从【工具箱】的【Windows窗体】选项卡中拖入窗体的任一组件 都是 Net框架类库—— Net Framework SDK中封装的某一个类的实例 通过上述步骤也不难看出 Visual Basic Net的确才是真正的面向对象(OOP)的开发语言 二 TextBox类的成员 TextBox组件使用虽然比较简单 但TextBox类的构成成员却是非常的丰富 在一般性的编程中 主要涉及到三类 属性 方法和事件 表 表 和表 分别是TextBox类的常用属性 方法和事件及其简单说明 属性 说明 AcceptsReturn 指示在多行TextBox组件中按ENTER键时 是在组件中创建一行新文本还是激活窗体的默认按钮 AcceptsTab 该值指示在多行文本框组件中按TAB键时 是否在组件中键入一个TAB字符 而不是按选项卡的顺序将焦点移动到下一个组件 AllowDrop 获取或设置一个值 该值指示组件是否可以接受用户拖放到它上面的数据 Anchor 获取或设置组件的哪些边缘锚定到其容器边缘 BackColor 获取或设置组件的背景色 BackgroundImage 获取或设置在组件中显示的背景图像 BorderStyle 获取或设置文本框组件的边框类型 Bottom 获取组件的下边缘与其容器的工作区的上边缘之间的距离 CanFocus 获取一个值 该值指示组件是否可以接收焦点 CanSelect 获取一个值 该值指示是否可以选中组件 CanUndo 获取一个值 该值指示用户在文本框组件中能否撤消前一操作 CharacterCasing 获取或设置TextBox组件是否在字符键入时修改其大小写格式 ContextMenu 获取或设置与组件关联的快捷菜单 Reated 获取一个值 该值指示组件是否已经创建 Cursor 获取或设置当鼠标指针位于组件上时显示的光标 DataBindings 为该组件获取数据绑定 Dock 获取或设置组件停靠到父容器的哪一个边缘 Enabled 获取或设置一个值 该值指示组件是否可以对用户交互作出响应 Focused 获取一个值 该值指示组件是否有输入焦点 Font 获取或设置组件显示的文字的字体 ForeColor 获取或设置组件的前景色 MaxLength 获取或设置用户可以在文本框组件中最多键入的字符数 Multiline TRUE/FALSE 该值指示它是否为多行文本框组件 PasswordChar 获取或设置字符 该字符用于屏蔽单行 ScrollBars 获取或设置哪些滚动条应出现在多行TextBox 组件中 Text 获取或设置文本框中的当前文本 TextAlign 设置文本框内文本得对齐方式 TextLength 获取组件中文本的长度  表 TextBox类的常用属性及其说明 方法 说明 AppendText 向文本框的当前文本追加文本 Clear 从文本框控件中清除所有文本 ClearUndo 从该文本框的撤消缓冲区中清除关于最近操作的信息 Copy 将文本框中的当前选定内容复制到剪贴板 Cut 将文本框中的当前选定内容移动到剪贴板中 DoDragDrop 开始拖放操作 Focus 为控件设置输入焦点 GetChildAtPoint 检索位于指定坐标处的子控件 GetNextControl 按照子控件的Tab键顺序向前或向后检索下一个控件 Hide 对用户隐藏控件 Paste 用剪贴板的内容替换文本框中的当前选定内容 PointToClient 将指定屏幕点的位置计算成工作区坐标 PointToScreen 将指定工作区点的位置计算成屏幕坐标 ResetBindings 将DataBindings属性重置为其默认值 Select 选择控件中的文本 SelectAll 选定文本框中的所有文本 SelectNextControl 激活下一个控件 Show 向用户显示控件 SuspendLayout 临时挂起控件的布局逻辑 Undo 撤消文本框中的上一个编辑操作

表 TextBox类的常用方法及其说明

事件 说明 Click 在单击文本框时发生 CursorChanged 当 Cursor 属性的值更改时发生 DoubleClick 在双击控件时发生 DragDrop 在完成拖放操作时发生 DragEnter 在将对象拖入控件的边界时发生 DragLeave 在将对象拖出控件的边界时发生 DragOver 在将对象拖到控件的边界上发生 EnabledChanged Enabled 属性值更改后发生 Enter 进入控件时发生 GiveFeedback 在执行拖动操作期间发生 GotFocus 在控件接收焦点时发生 KeyDown 在控件有焦点的情况下按下键时发生 KeyPress 在控件有焦点的情况下按下键时发生 KeyUp 在控件有焦点的情况下释放键时发生 Leave 在输入焦点离开控件时发生 LostFocus 当控件失去焦点时发生 MouseDown 当鼠标指针位于控件上并按下鼠标键时发生 MouseEnter 在鼠标指针进入控件时发生 MouseHover 在鼠标指针悬停在控件上时发生 MouseLeave 在鼠标指针离开控件时发生 MouseMove 在鼠标指针移到控件上时发生 MouseUp 在鼠标指针在控件上并释放鼠标键时发生 MouseWheel 在移动鼠标轮并且控件有焦点时发生 Move 在移动控件时发生 Paint 在重绘控件时发生 Resize 在调整控件大小时发生

TextBox类的常用事件及其说明当然TextBox类除了上述的属性 方法和事件 还有很多属性 方法和事件 和很多受保护的方法和受保护的属性 由于它们使用的几率较少和篇幅所限 就不能一一介绍了 感兴趣的朋友可以参阅相关资料

三.掌握TextBox组件的基本用法 由于TextBox类的成员实在太丰富 一个示例要想介绍上述所有的方法 属性和事件是不可能 在下面介绍的示例中 将突出介绍在Visual 集成开发环境下通过对设定不同的属性值实现三种常见的TextBox组件式样 以及TextBox组件的方法的调用方法和在Visual Basic Net集成开发环境中如何加入TextBox组件不同事件对应的处理代码 让各位更加熟悉TextBox类和Visual Basic Net开发环境 下面是TextBox示例的具体实现步骤 启动Visual Studio Net 选择菜单【文件】|【新建】|【项目】后 弹出【新建项目】对话框 将【项目类型】设置为【Visual Basic项目】 将【模板】设置为【Windows应用程序】 在【名称】文本框中输入【TextBox组件】 在【位置】的文本框中输入【E:\项目】 然后单击【确定】按钮 这样在 E:\VS NET项目 目录中就产生了名称为 TextBox组件 的文件夹 并在里面创建了名称为 TextBox组件 的项目文件 把Visual Studio Net的当前窗口切换到【Form VB(设计)】窗口 并从【工具箱】中的【Windows窗体组件】选项卡中往Form 窗体中拖入下列组件 并执行相应操作 三个Label组件 三个TextBox组件 分别为TextBox TextBox 和TextBox 按照表 中数值来设定设定组件的主要属性 请注意TextBox组件中的属性设定值

表 【TextBox组件】项目窗体中各组件的主要属性设定数值表

按照表 各值设定后的TextBox组件三种常用的式样也就产生了 具体如图 所示

图 程序设计时TextBox组件三种常见使用方法

这三种式样就是单行的TextBox组件 多行的TextBox组件和用以输入类似密码数据的TextBox组件 为TextBox 组件添加事件和事件的处理代码 此次添加的事件的名称是Leave 当TextBox 组件失去焦点时触发此事件 添加TextBox 组件的其他事件也可仿照下面的处理方法 下面是利用Visual Basic Net在【TextBox组件】项目中添加TextBox 组件的Leave事件和添加Leave事件的处理代码的具体步骤 首先把Visual Basic Net的当前窗口切换到Form vb的代码编辑界面 然后在如图 所示的选择框中选择TextBox

图 选择TextBox组件

之后 在图 所示的选择框中选择 Leave

图 选取Leave事件

在选择 Leave 之后 Visual Basic Net会自动在Form vb中产生TextBox 的Leave事件 在Leave事件的事件处理代码区添加下列代码 下面代码调用了TextBox 组件的 Clear 方法并且显示一个TextBox 组件失去焦点的提示框

TextBox Clear ( ) 清除TextBox 组件的显示内容MsgBox ( 失去焦点! ) 弹出提示框

至此【TextBox组件】项目的全部工作就完成了 图 是程序编译后运行界面

图 【TextBox项目】的运行界面

lishixinzhi/Article/program/net/201311/12721


文章标题:vb.net菜单控件 vb基本控件
文章来源:http://ybzwz.com/article/hgdcoj.html