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.pswp.cn/news/373035.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373035.shtml
英文地址,請注明出處:http://en.pswp.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…