《Visual Basic 2005 程序設(shè)計(jì)》第8章 界面設(shè)計(jì)_第1頁(yè)
《Visual Basic 2005 程序設(shè)計(jì)》第8章 界面設(shè)計(jì)_第2頁(yè)
《Visual Basic 2005 程序設(shè)計(jì)》第8章 界面設(shè)計(jì)_第3頁(yè)
《Visual Basic 2005 程序設(shè)計(jì)》第8章 界面設(shè)計(jì)_第4頁(yè)
《Visual Basic 2005 程序設(shè)計(jì)》第8章 界面設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩78頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第8章界面設(shè)計(jì)1本章主要內(nèi)容:添加菜單。標(biāo)準(zhǔn)對(duì)話框介紹。創(chuàng)建工具欄。實(shí)現(xiàn)上下文菜單。創(chuàng)建狀態(tài)欄。創(chuàng)建一個(gè)記事本綜合實(shí)例。2用戶界面的設(shè)計(jì)作為人機(jī)交互的窗口,在成功的程序設(shè)計(jì)中起著重要的作用。本章將介紹用戶界面設(shè)計(jì)中常用的控件,讀者將學(xué)習(xí)如何為應(yīng)用程序創(chuàng)建菜單、工具欄、上下文菜單、多種對(duì)話框及狀態(tài)欄,并通過建立一個(gè)記事本應(yīng)用程序來掌握這些控件的使用。3VisualBasic2005中引入了菜單(MenuStrip)、彈出菜單(ContextMenuStrip)、工具欄(ToolStrip)和狀態(tài)欄(StatusStrip)等界面設(shè)計(jì)的組件,它們位于工具箱的“菜單和工具欄”部分,如圖8-1所示。48.1創(chuàng)建菜單項(xiàng)用戶在運(yùn)行一個(gè)軟件時(shí),首先會(huì)查看菜單項(xiàng),來了解軟件的功能,完善的菜單有助于程序的使用。VisualBasic2005中,將菜單添加到窗體中,是通過MenuStrip控件來實(shí)現(xiàn)的。創(chuàng)建菜單過程非常簡(jiǎn)單,下面通過創(chuàng)建記事本應(yīng)用程序的菜單來學(xué)習(xí)和掌握菜單的建立。5例8.1創(chuàng)建記事本應(yīng)用程序程序,創(chuàng)建記事本的菜單項(xiàng)。具體操作過程:⑴新建項(xiàng)目,選擇“Windows應(yīng)用程序”,項(xiàng)目名為“我的記事本”。⑵在解決方案資源管理器中,把“Form1.vb”改為“frmNotePad.vb”。⑶打開窗體設(shè)計(jì)視圖,選擇窗體,在屬性框中修改窗體屬性:StartPosition為“CenterScreen”;Text為“我的記事本”。6⑷雙擊工具箱的MenuStrip項(xiàng),給窗體添加一個(gè)MenuStrip控件。此時(shí),如圖8-2所示,在系統(tǒng)為不可見控件(如Timer等)預(yù)留的窗體下方區(qū)域,顯示新添加的MenuStrip控件,在窗體標(biāo)題欄下方顯示“請(qǐng)?jiān)诖随I入”的提示框。圖8-2添加MenuStrip控件7⑸選擇窗體下方的MenuStrip1控件,在屬性框中修改MenuStrip控件屬性:選擇Items屬性,在彈出的對(duì)話框“項(xiàng)集合編輯器”中編輯頂級(jí)菜單,如圖8-3所示。圖8-3通過項(xiàng)集合編輯器來設(shè)置菜單項(xiàng)8⑹在圖8-3所示的窗口中,選自左側(cè)的成員“MenuStrip1”,修改其Name屬性為mnuMain。在左側(cè)的下拉列表中選擇MenuItem,點(diǎn)擊“添加”按鈕添加一個(gè)“ToolStripMenuItem1”,修改其Name屬性為“mnuFile”,Text屬性為“文件(&F)”。通過這樣的方法依次添加其余的頂級(jí)菜單,具體屬性設(shè)置見表8-1所示。9表8-1頂級(jí)菜單屬性設(shè)置菜單名稱(Name屬性)Text屬性mnuFile文件(&F)mnuEdit編輯(&E)mnuFormat格式(&O)mnuView查看(&V)mnuHelp幫助(&H)10提示:Text屬性設(shè)置為“文件(&F)”,但卻顯示為“文件(F)”。這是因?yàn)椤?”在菜單中具有特殊含義,如通過在字母“F”前添加“&”設(shè)置“F”為訪問鍵,用戶可以通過“Alt+F”組合鍵打開文件菜單。11設(shè)置好的主菜單如圖8-4所示:12頂級(jí)菜單完后,記事本界面如圖8-5所示13⑺在圖8-4所示的“項(xiàng)集合編輯器”中,選擇左側(cè)的mnuFile,選擇DropDownItems屬性,在彈出的對(duì)話框“項(xiàng)集合編輯器(mnuFile.DropDownItems)”中為頂級(jí)菜單“文件(&F)”添加子菜單,方法同添加頂級(jí)菜單。子菜單各項(xiàng)屬性設(shè)置見表8-2。14子菜單名稱(Name屬性)Text屬性ShorCutKeys屬性mnuNew新建(&N)Ctrl+NmnuOpen打開...(&O)Ctrl+OmnuSave保存(&S)Ctrl+SmnuSaveAs另存為…(&A)mnuPageSetup頁(yè)面設(shè)置…(&U)mnuPrint打印…(&P)Ctrl+PmnuQuit退出(&X)15提示:ShorCutKeys屬性設(shè)置菜單的快捷鍵,快捷鍵類似于訪問鍵,但它不打開菜單,而直接執(zhí)行某個(gè)菜單命令。設(shè)置快捷鍵和訪問鍵時(shí),應(yīng)參考廣泛使用的Windows應(yīng)用程序標(biāo)準(zhǔn),如用戶習(xí)慣使用快捷鍵“Ctrl+N”執(zhí)行新建文檔命令,快捷鍵“Ctrl+C”用來執(zhí)行拷貝任務(wù),訪問鍵“Alt+F”用來打開文件菜單。為菜單命令設(shè)置快捷鍵是通過修改菜單的ShorCutKeys屬性來實(shí)現(xiàn)的,設(shè)置方式參照?qǐng)D8-6所示。16圖8-6ShortcutKeys(快捷鍵)的設(shè)置17在設(shè)計(jì)菜單時(shí),一般把功能相近的菜單設(shè)置在一起,并用Separator(分隔符)加以區(qū)分。在菜單“另存為…(&A)”和“打印…(&P)”后分別添加一個(gè)Separator。18設(shè)計(jì)好的記事本“文件”菜單如圖8-7所示。圖8-7設(shè)計(jì)好的子菜單19⑻按照以上的方法,為其余的頂級(jí)菜單添加子菜單。各菜單的子菜單屬性設(shè)置見表8-3、8-4、8-5及8-6。(可參考Windows系統(tǒng)自帶的記事本)20表8-3編輯菜單的子菜單屬性設(shè)置子菜單名稱(Name屬性)Text屬性ShorCutKeys屬性mnuUndo撤銷(&U)Ctrl+ZmnuCut剪切(&T)Ctrl+XmnuCopy復(fù)制(&C)Ctrl+CmnuPaste粘貼(&V)Ctrl+VmnuDelete刪除(&L)DeletemnuFind查找(&P)…Ctrl+FmnuReplace替換(&R)…Ctrl+H

mnuAll全選(&A)Ctrl+AmnuData時(shí)間/日歷(&D)F521表8-4格式菜單的子菜單屬性設(shè)置子菜單名稱(Name屬性)Text屬性Checked屬性mnuWordWrap自動(dòng)換行(&W)TruemnuFont字體(&F)…mnuBackColor背景色…22表8-5查看菜單的子菜單屬性設(shè)置子菜單名稱(Name屬性)Text屬性Checked屬性mnuStatusBar狀態(tài)欄(&S)TruemnuToolBar工具欄(&T)…True23提示:菜單項(xiàng)的Checked屬性用來標(biāo)識(shí)該項(xiàng)處于選中、未選中還是不確定狀態(tài)。24表8-6幫助菜單的子菜單屬性設(shè)置子菜單名稱(Name屬性)Text屬性mnuAbout關(guān)于我的記事本25⑼添加RichTextBox控件,它是記事本編輯核心控件。修改其Name屬性為rtboxMain,Text屬性為空,Anchor屬性為“Top,Left”,Dock屬性為Fill。提示:RichTextBox控件是一個(gè)功能強(qiáng)大的字處理程序的核心,具有強(qiáng)大的文本格式化功能。Windows內(nèi)置的“寫字板”就是基于RichTextBox控件。其主要的屬性見表8-7:26表8-7RichTextBox控件屬性名稱及功能說明屬性名稱說明SelectedTxt當(dāng)前被選中的文字,SelectionStart被選中的文字的第一個(gè)字符的位置SelectionLength選中的文字的長(zhǎng)度SelectionFont被選中的文字的字體SelectionColor被選中的文字的顏色SelectionBackColor被選中的文本的背景顏色278.2對(duì)菜單項(xiàng)進(jìn)行編程設(shè)計(jì)模式下,在“文件(F)”菜單的子菜單“新建(N)Ctrl+N”上雙擊,輸入如下代碼:PrivateSubmnuNew_Click(ByValsenderAsSystem.Object,_

ByValeAsSystem.EventArgs)HandlesmnuNew.Click’清空RichTextBox控件中的內(nèi)容rtboxMain.Clear()EndSub28設(shè)計(jì)模式下,雙擊工具箱的OpenFileDialog項(xiàng),給窗體添加一個(gè)標(biāo)準(zhǔn)的文件打開對(duì)話框,修改其Name屬性為openMyFile。在“文件(F)”菜單的子菜單“打開...(O)Ctrl+O”上雙擊,輸入如下代碼:29PrivateSubmnuOpen_Click(ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs)HandlesmnuOpen.Click

'調(diào)用“打開”對(duì)話框,并對(duì)其屬性進(jìn)行修改

WithopenMyFile'Filter屬性限制打開對(duì)話框中顯示的文件類型

.Filter="RTF格式(*.rtf)|*.rtf|普通文本(*.txt)|*.txt|所有文件(*.*)|*.*".Title()="打開文件"EndWithIfopenMyFile.ShowDialog()=Windows.Forms.DialogResult.OKThen'加載所要打開的文件內(nèi)容至RichTextBox中

rtboxMain.LoadFile(openMyFile.FileName,RichTextBoxStreamType.RichText)

strfilename=openMyFile.FileName

Me.stlPath.Text=strfilenameEndIfEndSub30提示:RTF是RichTextFormat的簡(jiǎn)寫,它一種保存文本及格式的標(biāo)準(zhǔn),類似于HTML(超文本標(biāo)記語(yǔ)言),使用簡(jiǎn)單的標(biāo)記命令來描述文檔格式,例如“\b”表示修飾的文本為粗體,有興趣的讀者可以用記事本等文本編輯程序打開RTF文檔,查看其實(shí)際的RTF代碼。也可以簡(jiǎn)單理解為TXT格式只是保存了內(nèi)容及簡(jiǎn)單的格式信息(字體、字型及大?。?,RTF文件則保存了文本的內(nèi)容及及更多的格式信息(顏色、段落、項(xiàng)目符號(hào)等)。31設(shè)計(jì)模式下,雙擊工具箱的SaveFileDialog項(xiàng),給窗體添加一個(gè)標(biāo)準(zhǔn)的保存文件對(duì)話框,修改其Name屬性為saveMyFile。在“文件(F)”菜單的子菜單“另存為...(A)”上雙擊,輸入如下代碼:32PrivateSubmnuSaveAs_Click(ByValsenderAsSystem.Object,_

ByValeAsSystem.EventArgs)HandlesmnuSaveAs.Click'調(diào)用“另保存”對(duì)話框,并對(duì)其屬性進(jìn)行修改

WithsaveMyFile'設(shè)置默認(rèn)的文件后綴名

.DefaultExt="*.rtf"'.FileName=strfilename.Filter="RTF格式(*.rtf)|*.rtf|普通文本(*.txt)|*.txt|所有文件(*.*)|*.*".Title()="另存為"'如果用戶指定的文件名已存在,設(shè)置“另存為”對(duì)話框是否顯示警告。

.OverwritePrompt=TrueEndWith'保存文件

IfsaveMyFile.ShowDialog()=Windows.Forms.DialogResult.OK_AndsaveMyFile.FileName.Length>0Then

rtboxMain.SaveFile(saveMyFile.FileName,RichTextBoxStreamType.RichText)

strfilename=saveMyFile.FileName

Me.stlPath.Text=strfilenameEndIfEndSub33提示:RichTextBox.SaveFile方法用于將RichTextBox

的內(nèi)容保存到文件中,參數(shù)格式:SaveFile(Pathasstring,FileTypeasRichTextBoxStreamType),其中Path為保存當(dāng)前內(nèi)容的文件路徑,由“另存為“對(duì)話獲取,F(xiàn)ileType指定以不同格式保存,其值為RichTextBoxStreamType枚舉類型之一,見表8-8:34表8-8RichTextBoxStreamType枚舉類型值說明PlainText無格式方式保存的純文本流,其中用空格來代替對(duì)象鏈接與嵌入(OLE)對(duì)象RichTextRTF格式文本UnicodePlainText包含用空格代替對(duì)象鏈接與嵌入(OLE)對(duì)象的文本流,采用Unicode編碼TextTextOleObjs保存文本及嵌入的OLE對(duì)象RichNoOleObjs以無格式文本保存文本,用空格代替OLE對(duì)象35在設(shè)計(jì)模式下,在“文件(F)”菜單的子菜單“保存(S)Ctrl+S”上雙擊,輸入如下代碼:PrivateSubmnuSave_Click(ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs)HandlesmnuSave.Click'通過strfilename變量來確認(rèn)本文件是否已經(jīng)保存,如果沒有保存調(diào)用另存對(duì)話框

If(strfilename.Length=0)Then

mnuSaveAs_Click(sender,e)Else

rtboxMain.SaveFile(strfilename,RichTextBoxStreamType.RichText)EndIfEndSub36在設(shè)計(jì)模式下,雙擊工具箱的PageSetupDialog項(xiàng),給窗體添加一個(gè)標(biāo)準(zhǔn)的打印設(shè)置對(duì)話框,修改其Name屬性為psMyFile。在“文件(F)”菜單的子菜單“頁(yè)面設(shè)置...(U)”上雙擊,輸入如下代碼:37PrivateSubmnuPageSetup_Click(ByValsenderAsSystem.Object,_

ByValeAsSystem.EventArgs)HandlesmnuPageSetup.Click'定義一個(gè)打印對(duì)象,該對(duì)象將輸出到打印機(jī)

DimpdAsPrintDocument=NewPrintDocument

psMyFile.Document=pd

psMyFile.ShowDialog()EndSub38提示:PageSetupDialog

組件是一個(gè)預(yù)先配置的對(duì)話框,用于在基于Windows的應(yīng)用程序中設(shè)置頁(yè)詳細(xì)信息以便打印??稍试S用戶設(shè)置邊框和邊距調(diào)整量、頁(yè)眉和頁(yè)腳以及縱向或橫向打印。提示:PageSetupDialog

組件是一個(gè)預(yù)先配置的對(duì)話框,用于在基于Windows的應(yīng)用程序中設(shè)置頁(yè)詳細(xì)信息以便打印??稍试S用戶設(shè)置邊框和邊距調(diào)整量、頁(yè)眉和頁(yè)腳以及縱向或橫向打印。39在設(shè)計(jì)模式下,雙擊工具箱的PrintDialog項(xiàng),給窗體添加一個(gè)標(biāo)準(zhǔn)的打印設(shè)置對(duì)話框,修改其Name屬性為printMyFile。在“文件(F)”菜單的子菜單“打印...(P)Ctrl+P”上雙擊,輸入如下代碼:40PrivateSubmnuPrint_Click(ByValsenderAsSystem.Object,_

ByValeAsSystem.EventArgs)HandlesmnuPrint.ClickDimpdAsPrintDocument=NewPrintDocument

printMyFile.Document=pdIfprintMyFile.ShowDialog()=Windows.Forms.DialogResult.OKThen

MessageBox.Show("沒有安裝打印機(jī)!","出錯(cuò)了!",MessageBoxButtons.OK,_

MessageBoxIcon.Error,MessageBoxDefaultButton.Button1)EndIfEndSub41提示:PrintDialog

控件是一個(gè)預(yù)先配置的對(duì)話框,可在基于Windows的應(yīng)用程序中用于選擇當(dāng)前系統(tǒng)已安裝的打印機(jī)、選擇要打印的頁(yè)以及確定其他與打印相關(guān)的設(shè)置。需要注意的是PrintDialog對(duì)話框并不將打印數(shù)據(jù)發(fā)送到打印機(jī),完成打印還需編寫相應(yīng)的代碼。42在設(shè)計(jì)模式下,在“編輯(E)”菜單的子菜單“撤銷(U)Ctrl+Z”上雙擊,輸入如下代碼:PrivateSubmnuUndo_Click(ByValsenderAsSystem.Object,_

ByValeAsSystem.EventArgs)HandlesmnuUndo.Click'獲取窗體記事本控件上的活動(dòng)控件

DimrtbAsRichTextBox=Me.ActiveControl'Undo()方法用于撤消文本框中的上一個(gè)編輯操作。

rtb.Undo()

EndSub43表8-9編輯功能的主要方法方法名稱功能說明Cut()當(dāng)前選定內(nèi)容移動(dòng)到“剪貼板”中Copy()當(dāng)前選定內(nèi)容復(fù)制到“剪貼板”Paste()將剪貼板的內(nèi)容粘貼到記事本中Redo()恢復(fù)上次撤消的操作44在設(shè)計(jì)模式下,在“編輯(E)”菜單的子菜單“刪除(L)Del”上雙擊,輸入如下代碼:PrivateSubmnuDelete_Click(ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs)HandlesmnuDelete.Click

rtboxMain.SelectedText=""EndSub458.3添加查找及替換功能作為文本編輯軟件,查找和替換是必不可少的功能。下面分別為記事本添加查找及替換功能。添加查找功能具體操作過程如下:⑴打開例8.1“我的記事本”項(xiàng)目,選擇“項(xiàng)目”->“添加Windows窗體(F)…”,在彈出的“添加新項(xiàng)–我的記事本”對(duì)話框中選擇“對(duì)話框”,名稱改為“find.vb”,如圖8-8所示。4647⑵點(diǎn)擊“添加(A)”,為項(xiàng)目添加了一個(gè)對(duì)話框,修改對(duì)話框的Text屬性為“查找”。刪除對(duì)話框默認(rèn)的按鈕控件,為其添加新的按鈕、標(biāo)簽、復(fù)選框及文本框等控件,安照表8-10設(shè)置相應(yīng)的屬性。48表8-10查找窗體主要控件屬性設(shè)置控件Name屬性Text屬性ButtonBtnfind查找(&F)ButtonbtnFindNext查找下一個(gè)(&N)ButtonbtnCacel取消TextBoxTextBox1CheckBoxCheckBox1區(qū)分大小寫(&C)49設(shè)計(jì)好的“查找”對(duì)話框如圖8-9所示:50⑶在“查找(F)”按鈕上雙擊,添加以下代碼:PrivateSubBtnfind_Click(ByValsenderAsSystem.Object,_

ByValeAsSystem.EventArgs)HandlesBtnfind.Click'定義變量s表示字符串的開始位置

DimsAsInteger'先判斷窗體上的復(fù)選項(xiàng)是否選中

'根據(jù)復(fù)選框來確定搜索模式

DimsearchModeAsMicrosoft.VisualBasic.CompareMethodIfCheckBox1.Checked=TrueThen

searchMode=CompareMethod.BinaryElse

searchMode=CompareMethod.TextEndIf51

s=InStr(frmNotePad.rtboxMain.Text,Me.TextBox1.Text,searchMode)Ifs=0Then

MsgBox("沒有找到!")ExitSubEndIf'高亮選中找到的字符串

'確認(rèn)rtboxMain的Hideselection屬性為為false

frmNotePad.rtboxMain.Select(s-1,Me.TextBox1.Text.Length)'讓選中的字符串進(jìn)入可視區(qū)域

frmNotePad.rtboxMain.ScrollToCaret()EndSub52⑷在“查找下一個(gè)(N)”按鈕上雙擊,添加以下代碼:PrivateSubbtnFindNext_Click(ByValsenderAsSystem.Object,_

ByValeAsSystem.EventArgs)HandlesbtnFindNext.ClickDimsAsIntegerDimsearchModeAsMicrosoft.VisualBasic.CompareMethodIfCheckBox1.Checked=TrueThen

searchMode=Microsoft.VisualBasic.CompareMethod.BinaryElse

searchMode=Microsoft.VisualBasic.CompareMethod.TextEndIfs=InStr(frmNotePad.rtboxMain.SelectionStart+2,_

frmNotePad.rtboxMain.Text,Me.TextBox1.Text,searchMode)Ifs=0Then

MsgBox("找不到"&Me.TextBox1.Text)ExitSubEndIf

frmNotePad.rtboxMain.Select(s-1,Me.TextBox1.Text.Length)

frmNotePad.rtboxMain.ScrollToCaret()EndSub53提示:InStr([StartAsInteger,]String1AsString,String2AsString[,CompareAsCompareMethod])函數(shù)返回一個(gè)字符串在另一個(gè)字符串中的第一個(gè)匹配項(xiàng)的位置,它的返回值為一個(gè)整數(shù),該整數(shù)指定一個(gè)字符串在另一個(gè)字符串中的第一個(gè)匹配項(xiàng)的起始位置。其中:Start可選。數(shù)值表達(dá)式,設(shè)置搜索的起始位置。如果省略該參數(shù),則從第一個(gè)字符位置開始搜索。起始索引從一開始。String1必選。搜索的String表達(dá)式。String2必選。查找的String表達(dá)式。Compare可選。指定字符串比較的類型,參見表8-11。如果省略Compare,則由OptionCompare設(shè)置確定比較類型。54表8-11Compare參數(shù)選項(xiàng)值常數(shù)值說明Binary0執(zhí)行二進(jìn)制比較Text1執(zhí)行文本比較55添加替換功能具體操作過程如下:⑴打開“我的記事本”項(xiàng)目,選擇“項(xiàng)目”->“添加Windows窗體(F)…”,在彈出的“添加新項(xiàng)–我的記事本”對(duì)話框中選擇“對(duì)話框”,名稱改為“frmReplace.vb”,如圖8-10所示。56⑵點(diǎn)擊“添加(A)”,為項(xiàng)目添加了一個(gè)新對(duì)話框,修改對(duì)話框的Text屬性為“替換”。刪除對(duì)話框默認(rèn)的按鈕控件,為其添加新的按鈕、標(biāo)簽、復(fù)選框及文本框等控件,安照表8-12設(shè)置相應(yīng)的屬性。57表8-12查找窗體主要控件屬性設(shè)置控件Name屬性Text屬性ButtonbtnFindNext查找下一個(gè)(&F)ButtonbtnReplace替換(&R)ButtonbtnReplaceAll全部替換(&A)ButtonbtnCancel取消TextBoxTextBox1TextBoxTextBox2CheckBoxCheckBox1區(qū)分大小寫(&C)58設(shè)計(jì)好的“替換”對(duì)話框如圖8-11所示,在PublicClassfrmReplace的前、后分別輸入以下代碼:ImportsSystem.Windows.FormsPublicClassfrmReplaceDima=0

59圖8-11設(shè)計(jì)好的替換對(duì)話框60⑶在“查找下一個(gè)(F)”按鈕上雙擊,添加以下代碼:PrivateSubbtnFindNext_Click(ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs)HandlesbtnFindNext.ClickDimsAsIntegerDimsearchModeAsMicrosoft.VisualBasic.CompareMethodIfCheckBox1.Checked=TrueThen

searchMode=Microsoft.VisualBasic.CompareMethod.BinaryElse

searchMode=Microsoft.VisualBasic.CompareMethod.TextEndIfIfa=0Thens=InStr(frmNotePad.rtboxMain.Text,Me.TextBox1.Text,searchMode)a=a+1Elses=InStr(frmNotePad.rtboxMain.SelectionStart+2,_

frmNotePad.rtboxMain.Text,Me.TextBox1.Text,searchMode)EndIfIfs=0Then

MsgBox("找不到"&Me.TextBox1.Text)ExitSubEndIf

frmNotePad.rtboxMain.Select(s-1,Me.TextBox1.Text.Length)

frmNotePad.rtboxMain.ScrollToCaret()EndSub61⑷在“替換(R)”按鈕上雙擊,添加以下代碼:PrivateSubbtnReplace_Click(ByValsenderAsSystem.Object,_

ByValeAsSystem.EventArgs)HandlesbtnReplace.ClickIffrmNotePad.rtboxMain.SelectedText<>""Then

frmNotePad.rtboxMain.SelectedText=Me.TextBox2.TextEndIf

btnFindNext_Click(sender,e)EndSub62⑸在“全部替換(A)”按鈕上雙擊,添加以下代碼:PrivateSubbtnReplaceAll_Click(ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs)HandlesbtnReplaceAll.Click

frmNotePad.rtboxMain.Text=Replace(frmNotePad.rtboxMain.Text,_TextBox1.Text,TextBox2.Text)MsgBox("完成全部替換!")EndSub638.4創(chuàng)建工具欄工具欄實(shí)質(zhì)是菜單項(xiàng)的快捷方式,是用戶執(zhí)行程序常用功能最方便的方式之一。不同于菜單欄,工具欄總是可見,可以實(shí)現(xiàn)即點(diǎn)即用。工具欄還應(yīng)該設(shè)置工具功能的提示(ToolTip),只要用戶將鼠標(biāo)指向工具欄的按鈕,就知道其功能,方便用戶使用。工具欄使用ToolStrip控件創(chuàng)建。下面繼續(xù)完善記事本,為記事本添加工具欄。64例8.2在例8-1的基礎(chǔ)上,繼續(xù)完善記事本功能,創(chuàng)建一個(gè)工具欄。具體操作過程:⑴打開例8-1“我的記事本”項(xiàng)目,在窗體設(shè)計(jì)視圖下,雙擊工具箱中的ToolStrip項(xiàng),添加一個(gè)新的ToolStrip項(xiàng)到窗體中,修改工具欄(ToolStrip1)的Name屬性為“tbrMain”,現(xiàn)在的記事本窗體如圖8-12所示。圖8-12為“我的記事本”添加工具欄(ToolStrip)65⑵選擇工具欄“tbrMain”,打開左下角的下拉列表,選擇Button,然后點(diǎn)擊“添加”創(chuàng)建一個(gè)新的按鈕(見圖8-13),設(shè)置其屬性如表8-13所示:66表8-13新添加的按鈕屬性設(shè)置屬性值NametbbNewText新建ToolTipText新建67提示:ToolTipText屬性設(shè)置當(dāng)鼠標(biāo)滑動(dòng)到工具欄圖標(biāo)時(shí)顯示的提示文本。此時(shí)運(yùn)行程序時(shí),新添加的工具欄按鈕圖標(biāo)為系統(tǒng)默認(rèn)的圖片,通過修改Image屬性,在圖8-14所示對(duì)話框,更換按鈕顯示的圖片。68提示:VisualBasic2005的工具欄提供了Windows應(yīng)用程序常用的工具欄標(biāo)準(zhǔn)項(xiàng),滿足了大多數(shù)應(yīng)用程序的需求。插入標(biāo)準(zhǔn)項(xiàng)方法:在工具欄上點(diǎn)右鍵,彈出的菜單中選擇“插入標(biāo)準(zhǔn)項(xiàng)”,如圖8-15所示,本例中的工具欄采用這種方法添加,在實(shí)際編程中可以根據(jù)程序需要對(duì)標(biāo)準(zhǔn)項(xiàng)進(jìn)行刪減修改。通過插入標(biāo)準(zhǔn)項(xiàng)的方式創(chuàng)建的工具欄如圖8-16所示。69圖8-15插入標(biāo)準(zhǔn)項(xiàng)工具欄70圖8-16插入標(biāo)準(zhǔn)項(xiàng)的工具欄71右鍵點(diǎn)擊最后一個(gè)圖標(biāo),選擇刪除。然后選擇工具欄各個(gè)圖標(biāo),依次修改其屬性如表8-14:72表8-14工具欄上各項(xiàng)的屬性設(shè)置順序Name屬性功能說明1tbarNew新建文檔2tbarOpen打開文檔3tbarSave保存文檔4tbarPrint打印5tbarCut剪貼6tbarCopy復(fù)制7tbarPaste粘貼73雙擊工具欄上圖標(biāo),為其添加相應(yīng)代碼,由于具體功能實(shí)現(xiàn)代碼前面已經(jīng)添加,現(xiàn)在只需調(diào)用相應(yīng)代碼即可,如第一個(gè)圖標(biāo)添加如下代碼:PrivateSubtbarNew_Click(ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs)HandlestbarNew.Click

mnuNew_Click(sender,e)EndSub參照以上代碼,依次為工具欄上每個(gè)圖標(biāo)添加相應(yīng)代碼。748.5創(chuàng)建上下文菜單上下文菜單(也稱右鍵菜單)是右鍵點(diǎn)擊窗體上特定對(duì)象區(qū)域時(shí)彈出的菜單。創(chuàng)建上下文菜單是通過ContextMenuStrip控件來實(shí)現(xiàn)的。例8.3在例8-2的基礎(chǔ)上,繼續(xù)完善

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論