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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373035.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringMVC后台接收list类型的数据的实现方式

一、背景 最近在做一些东西的时候&#xff0c;遇到一个需要Springmvc后台接收list类型数据的需求&#xff0c;几经辗转才完美解决了这个问题&#xff0c;今天记下来方便以后使用&#xff0c;也分享给需要的小伙伴们~ 二、实现方式 实现方式一 前端页面 1 <% page language&q…

Maven集成测试和Spring Restful Services

介绍 我的原始博客通过一个非常简单的示例展示了如何分离Maven单元和集成测试。 http://johndobie.blogspot.com/2011/06/seperating-maven-unit-integration-tests.html此后&#xff0c;许多人要求我提供比最初使用的示例更实际的示例。 这篇文章展示了如何在实际环境中&#…

玩cf出现outofmemory_CF画质粗糙平衡感人,却能历经十年经久不衰,靠的是什么?...

Hello大家好&#xff0c;我是沐辰。《穿越火线》这款游戏国内运营时间已长达十年&#xff0c;从最早接触这款游戏开始&#xff0c;很多玩家都在这里烙刻下了许多关于青春的回忆。CF的许多问题一直颇受诟病&#xff0c;例如落后且粗糙的画质、英雄级武器与平民武器的巨大差距、千…

jquery遍历ajax返回的json数据

我们以前在前端遍历ajax拿到的数据一般都是用for或其他方式遍历&#xff0c;这样做麻烦且费事&#xff0c;效率不高&#xff0c;下面提供一个函数&#xff0c;只需调用函数即可把数据遍历出来&#xff0c;方便高效。 html代码&#xff1a; <html> <head><script…

Apache JMeter:随心所欲进行负载测试

这是有关使用Apache JMeter进行负载测试的第二篇文章&#xff0c;请在此处阅读第一篇文章&#xff1a; 有关对关系数据库进行负载测试的分步教程。 JMeter有很多采样器 。 如果您需要JMeter不提供的采样器&#xff0c;则可以编写自定义采样器。 &#xff08;自定义采样器在JMet…

html5历史管理

在网易云课堂上看了妙味课堂的关于html5历史管理的课程&#xff0c;在这里做一下笔记。 单页面或ajax局部刷新的页面中&#xff0c;没有办法通过前一步和后一步得到历史访问数据&#xff0c;此时有两种方法可以解决这个问题&#xff1a; 1.onhashchange事件&#xff0c;示例代码…

elementui下拉框 清空_巧妙解决element-ui下拉框选项过多的问题

1. 场景描述不知道你有没有这样的经历&#xff0c;下拉框的选项很多&#xff0c;上万个选项甚至更多&#xff0c;这个时候如果全部把数据放到下拉框中渲染出来&#xff0c;浏览器会卡死&#xff0c;体验会特别不好用人会说element-ui的select有一个remote-method&#xff0c;支…

致敬词

见义勇为致敬词 面对灾难和死神&#xff0c;你们大义凛然、知险而上&#xff0c;把平安和生机留给他人&#xff0c;把困难和危险留给自己。巍巍乎高山景行&#xff0c;铮铮然铁骨侠风&#xff1b;壮志谱传奇&#xff0c;热血写春秋。你们是&#xff1a;百姓英雄&#xff0c;平安…

MOXy作为您的JAX-RS JSON提供程序–客户端

最近&#xff0c;我发布了如何利用EclipseLink JAXB&#xff08;MOXy&#xff09;的JSON绑定来创建RESTful服务。 在本文中&#xff0c;我将演示在客户端利用MOXy的JSON绑定有多么容易。 MOXy作为您的JAX-RS JSON提供程序–服务器端 MOXy作为您的JAX-RS JSON提供程序–客户端 …

经常使用计算机的孩子,常玩电脑对孩子负面影响大,家长们不容小觑!

相信不少的家庭都会备有电脑&#xff0c;人们在网络世界里面能够找到自己需要的东西。不仅是大人喜欢玩电脑&#xff0c;小孩也喜欢玩电脑。然而常玩电脑对孩子负面影响大吗&#xff1f;有多大&#xff1f;一、行为问题全国青少年教育协会指出&#xff0c;5岁以下的使用电脑的孩…

基于SpringBoot的养老院管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SpringBoot的养老院管理系统,java项…

外呼机器人起名_智能外呼机器人,目前都有哪些公司做产品?

做智能外呼机器人的企业现在已经挺多了&#xff0c;比如各个答案中提到的各家的产品。它的市场认可度也比较高&#xff0c;大家都知道它能用于通知、回访、问卷调查、营销等业务场景。外呼机器人的价值很好衡量&#xff0c;用了外呼机器人后&#xff0c;能给企业赚多少钱&#…

VMware下ubuntu与Windows实现文件共享的方法

最近安装caffe需要将Windows下文件拷贝到ubuntu16.04下&#xff0c;就进行了共享文件夹的设置&#xff0c;期间遇到一些困难&#xff0c;记录下来&#xff0c;方便以后遇到此类问题不再困惑。 &#xff08;记录只为更好的分享&#xff09; 言归正传&#xff1a; 1、首先需要在u…

前端开发流程

一般都是在我们开发一个项目之前我们会进行一个讨论会&#xff0c;然后一起分析一下这个项目应该怎么去做&#xff0c;那些地方可以用最新的一些技术&#xff0c;那些技术有兼容问题&#xff0c;哪些可以实现&#xff0c;哪些不可以实现&#xff0c;这些讨论完以后&#xff0c;…

TestNG和Maven配置指南

为了有用&#xff0c;自动测试应该运行得非常快。 否则&#xff0c;将不会在开发期间经常运行&#xff0c;甚至在开发人员工作站的默认配置中将被忽略。 最简单的规则是仅编写小型单元测试&#xff0c;该测试将模拟给定类的邻居。 但是&#xff0c;有时在IoC容器上下文&#xf…

微型计算机广告牌实验报告,微型计算机实验报告1资料.doc

实验报告1. 实验名称程序编译及调试2. 实验目的掌握汇编语言语句格式&#xff0c;程序结构&#xff0c;上机调试步骤和各种类型程序的设计方法。了解汇编语言的基本语法&#xff0c;汇编程序的功能和汇编&#xff0c;调试过程&#xff0c;伪指令&#xff0c;汇编语言程序设计&a…

mybatis入门-新手注意问题

参数问题 在映射文件中通过parameterType指定输入参数的类型&#xff1b;在映射文件中通过resultType指定输出结果的类型。 占位符和拼接符问题 #{}表示一个占位符号&#xff0c;#{}接收输入参数&#xff0c;类型可以是简单类型&#xff0c;pojo、hashmap。 如果接收简单类型&a…

python文件管理包_Python标准库04 文件管理 (部分os包,shutil包)

Python标准库04 文件管理 (部分os包&#xff0c;shutil包)在操作系统下&#xff0c;用户可以通过操作系统的命令来管理文件&#xff0c;参考。Python 标准库则允许我们从 Python 内部管理文件。相同的目的&#xff0c;我们有了两条途径。尽管在 Python 调用标准库的方式不如操作…

Delphi Berlin 10.1 for iOS 成生 info.plist 顺序改变了

在 Delphi Seattle 10 update 1 版本&#xff08;含之前版本&#xff09;&#xff0c;只要 Project > Build 会立即生成 info.plist 如果需要修改 info.plist 可以利用 TMS 提供的修改工具 Fixing on iOS 9 来修改。 在 Delphi Berlin 10.1 版本&#xff0c;顺序改变了&…

MANIFEST.MF和feature.xml版本控制规则

我永远忘记了OSIF插件和功能的 MANIFEST.MF和feature.xml中的依赖项声明的规则是什么。 谷歌搜索经常导致沮丧而不是答案。 所以&#xff0c;因为今天我实际上找到了这些规则的简要列表&#xff0c;所以我想在这里重新发布它们&#xff0c;并进行一些小的修改以帮助阐明。 OSGi…