版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
VisualBasic
程序設(shè)計(jì)教程內(nèi)蒙古科技大學(xué)實(shí)踐訓(xùn)練中心第六章常用控件6.1
圖形控件6.1.1圖片框和圖像框
1、圖片框
(PictureBox)
圖片框(PictureBox)主要用來顯示圖片和圖像。可以顯示的圖形文件格式:位圖()*.bmp;圖標(biāo)(*.ico)、光標(biāo)(*.cur)、元文件(*.wmf)、增強(qiáng)的元文件(*.emf)、JPEG文件(*.jpg)、GIF文件(*.gif);
在圖片框中顯示圖片的方法:
⑴在屬性窗口設(shè)置Picture屬性;⑵在代碼中使用LoadPicture()函數(shù)載入圖片:
圖片框?qū)ο竺?Picture=LoadPicture(“圖形文件名”)
其中:圖形文件名是包括路徑在內(nèi)的圖形文件名。
6.1
圖形控件6.1.1圖片框和圖像框
清除圖片框中的圖形的方法:⑴在屬性窗口中直接刪除Picture屬性內(nèi)容;⑵在代碼中使用LoadPicture()函數(shù)清除圖片:
圖片框?qū)ο竺?Picture=LoadPicture(“”)
或圖片框?qū)ο竺?Picture=LoadPicture()
圖片框自動(dòng)縮放:修改AutoSize屬性值為True,則圖片框自動(dòng)調(diào)整大小以適應(yīng)圖形。
6.1
圖形控件6.1.1圖片框和圖像框
圖片框還可以顯示用Print方法產(chǎn)生的文本和用圖形方法繪制的圖形,其清除方法:
圖片框?qū)ο竺?Cls
圖片框還可以作為其他控件的容器:當(dāng)圖片框移動(dòng)時(shí),圖片框內(nèi)的其他控件也隨之移動(dòng);對(duì)于這些控件而言,其Top、Left屬性是相對(duì)于圖片框而言的;6.1
圖形控件6.1.1圖片框和圖像框2、圖像框
(Image)
與圖片框的區(qū)別:
⑴圖片框是容器控件,而圖像框不能作為容器;
⑵圖片框可以利用Print方法顯示文本,圖像框則不能;⑶圖像框比圖片框占用內(nèi)存少,顯示速度快,故當(dāng)兩者都滿足設(shè)計(jì)者的要求時(shí),優(yōu)先考慮圖像框;⑷圖片框用AutoSize屬性控制圖片框的尺寸自動(dòng)適應(yīng)圖片的大小,圖像框用Stretch屬性對(duì)圖片進(jìn)行大小調(diào)整;6.1
圖形控件6.1.1圖片框和圖像框
2、圖像框
(Image)對(duì)于加載到圖片框或圖像框的圖片,可使用SavePicture命令將圖形保存到磁盤上。
SavePicture
對(duì)象名.屬性,文件名其中:對(duì)象名為選定的圖片框或圖像框;屬性為圖形屬性,如Picture;文件名指圖形保存的文件名,目前只支持BMP文件;
6.1
圖形控件6.1.1圖片框和圖像框
例[6-1_1]圖片框示例。在窗體上畫一個(gè)圖片框,名為P1,高為1900,寬為2400,編寫適當(dāng)?shù)氖录^程,使得在運(yùn)行時(shí)若單擊窗體,則裝入D盤的文件名為Pic1.jpg的圖片,若雙擊窗體,則窗體中的圖片消失。
解題思路:裝入圖片的方法:Loadpicture(“d:\pic1.jpg”);清除圖片的方法:Loadpicture(“”)或Loadpicture();
PrivateSubForm_Click()P1.Picture=LoadPicture("d:\pic1.jpg")EndSubPrivateSubForm_DblClick()P1.Picture=LoadPicture()EndSub6.1
圖形控件6.1.1圖片框和圖像框
例[6-1_2]交換圖形。編寫程序,交換兩個(gè)圖像框中的圖形。
解題思路:交換兩個(gè)變量的值一般要引入第三個(gè)變量進(jìn)行交換。本題借助于第三個(gè)圖像框?qū)崿F(xiàn)交換。
Image3.Picture=Image1.PictureImage1.Picture=Image2.PictureImage2.Picture=Image3.Picture6.1
圖形控件
6.1.2形狀(Shape)和直線(Line)
1、形狀(Shape)
功能:用來畫矩形、正方形、橢圓、圓、圓角矩形及圓角正方形。形狀控件放置到窗體上或圖片框上時(shí),原始顯示為正方形,通過設(shè)置Shape屬性可得到需要的圖形。
Shape屬性值形狀0矩形(默認(rèn))1正方形2橢圓3圓4圓角矩形5圓角正方形另:BorderColor:設(shè)置形狀的邊框顏色;
FillStyle:填充類別,取值范圍:0-7,分別表示不同的填充方式
FillColor:形狀的填充顏色
6.1
圖形控件
6.1.2形狀(Shape)和直線(Line)
2、直線(Line)
功能:用來畫水平線、垂直線或?qū)蔷€。通過設(shè)置該控件的位置、長度、顏色、寬度、線型等屬性可產(chǎn)生不同風(fēng)格的、不同顏色的直線。
⑴BorderStyle:用于設(shè)置線條的類型;BorderStyle屬性值形狀0透明線1實(shí)線(默認(rèn)值)2虛線(BorderWidth=1時(shí)有效)3點(diǎn)線(BorderWidth=1時(shí)有效)4點(diǎn)劃線(BorderWidth=1時(shí)有效)5雙點(diǎn)劃線(BorderWidth=1時(shí)有效)6內(nèi)收實(shí)線,邊框的外邊界就是形狀的外邊緣6.1
圖形控件
6.1.2形狀(Shape)和直線(Line)
2、直線(Line)⑵BorderWidth:用于設(shè)置線條的寬度,即線條的粗細(xì);⑶BorderColor:由于設(shè)置線條的顏色;
例[6-1_3]
形狀控件實(shí)例。在窗體上利用形狀控件畫一個(gè)矩形,名稱為Shape1,高和寬分別為1000、1700;再畫兩個(gè)命令按鈕,名稱分別為command1、command2,標(biāo)題分別為“綠色橢圓”,“紅色圓”。
解題思路:形狀的屬性shape=2為橢圓;形狀的屬性shape=3為圓;PrivateSubCommand1_Click()Shape1.Shape=2'shape=2為橢圓
Shape1.BorderColor=vbGreen'邊框?yàn)榫G色EndSubPrivateSubCommand2_Click()Shape1.BorderColor=vbRed'邊框顏色為紅色
Shape1.Shape=3'shape=3為圓EndSub6.1
圖形控件
6.1.2形狀(Shape)和直線(Line)
例[6-1_4]
用形狀控件和直線控件繪制直方圖。
解題思路:首先畫出x軸(line1)和y軸(line2),根據(jù)輸入的四個(gè)值;首先確定四個(gè)標(biāo)簽(顯示輸入值)的位置;用輸入的四個(gè)值來代替四個(gè)形狀的高度(Height);再根據(jù)其代表的值確定形狀的頂部坐標(biāo)(TOP);
label1label2label3label4(x1,y1)(x1,y2)(x2,y1)heighttopLine1Line26.1
圖形控件
6.1.3圖形方法
使用繪圖方法,首先確定所畫圖形的位置,這就需要先確定坐標(biāo)系。當(dāng)新建一個(gè)窗體時(shí),新窗體采用缺省坐標(biāo)系,坐標(biāo)原點(diǎn)在窗體左上角,
Height=3600,Width=4800,ScaleHeight=3195,ScaleWidth=4680。其中:ScaleHeight和ScaleWidth為窗體的實(shí)際可用的高度和寬度。自定義坐標(biāo)系的方法:
[對(duì)象名].Scale[(xLeft,yTop)-(xRight,yBottom)]
其中:(xLeft,yTop)、(xRight,yBottom)為對(duì)象左上角和右下角坐標(biāo)
窗體xleft,ytop左上角坐標(biāo)右下角坐標(biāo)xright,ybottom6.1
圖形控件
6.1.3圖形方法
1、畫點(diǎn)方法(Pset)
用于在指定的位置以指定的顏色畫點(diǎn)。格式:[對(duì)象名].Pset[step](x,y)[,顏色]其中:對(duì)象名:窗體或圖片框(picturebox)的名稱;
Step:可選項(xiàng),有該參數(shù),表明所畫的點(diǎn)坐標(biāo)(x,y)是相對(duì)坐標(biāo)(相對(duì)于當(dāng)前坐標(biāo)點(diǎn)CurrentX,CurrentY),沒有該參數(shù),點(diǎn)坐標(biāo)(x,y)為絕對(duì)坐標(biāo)。
顏色:點(diǎn)的顏色,若省略則采用對(duì)象的前景色(ForeColor)。如:Pset(70,70),RGB(255,255,0)‘設(shè)置點(diǎn)的顏色為RGB顏色
Pset(70,70),BackColor’設(shè)置點(diǎn)的顏色為背景色6.1
圖形控件
6.1.3圖形方法
例[6-1_5]窗體上隨機(jī)畫帶顏色的點(diǎn),實(shí)現(xiàn)滿天星效果。
解題思路:利用隨機(jī)函數(shù)Rnd,確定每個(gè)點(diǎn)的隨機(jī)坐標(biāo)和顏色的隨機(jī)值
Dimm_x,m_y,m_red,m_green,m_blueAsLongScale(0,0)-(100,100)'自定義坐標(biāo)
DrawWidth=8'設(shè)置點(diǎn)的大小
m_x=Rnd*100'設(shè)置隨即坐標(biāo)m_x,m_y
m_y=Rnd*100
m_red=Rnd*255'設(shè)置隨機(jī)顏色
m_green=Rnd*255
m_blue=Rnd*255
PSet(m_x,m_y),RGB(m_red,m_green,m_blue)'畫點(diǎn)6.1
圖形控件
6.1.3圖形方法
例[6-1_6]用Pset方法繪制以下參數(shù)方程決定的曲線
x=sin2t*cost0≤t≤2πy=sin2t*sint0≤t≤2π
解題思路:根據(jù)方程:x、y的值均在-1~1之間,所以自定義坐標(biāo)系:將窗體的坐上角的坐標(biāo)設(shè)為(-1,1);右下角的坐標(biāo)為(1,-1);即:scale(-1,1)-(1,-1)(0,0)(1,0)xy(-1,0)窗體
Dimt,x,yAsSingleScale(-1,1)-(1,-1)
ForeColor=vbRedFort=0To2*3.1415926Step0.001x=Sin(2*t)*Cos(t)y=Sin(2*t)*Sin(t)
PSet(x,y),RGB(255,0,0)Next6.1
圖形控件
6.1.3圖形方法
2、畫直線、矩形方法
Line方法可用于畫直線和矩形;格式:[對(duì)象名].Line[Step(x1,y1)]-[Step](x2,y2)[,顏色][,B[F]]
其中:
對(duì)象名:窗體或圖片框(picturebox);
Step:可選項(xiàng),有該參數(shù)時(shí),表示坐標(biāo)為相對(duì)于當(dāng)前點(diǎn)的坐標(biāo),否則為絕對(duì)坐標(biāo)。
(x1,y1):起點(diǎn)坐標(biāo);若省略,則表示起點(diǎn)為(currentX,currentY)
(x2,y2):終點(diǎn)或右下角坐標(biāo)
顏色:直線或矩形的顏色,若省略則使用ForeColor屬性指定的顏色B:若有B,則以(x1,y1)為左上角,以(x2,y2)為右下角坐標(biāo)畫矩形;
F:在選擇參數(shù)B后才能選擇,有F表示矩形以矩形邊框的顏色填充,否則,矩形用屬性Fillcolor和Fillstyle填充;6.1
圖形控件
6.1.3圖形方法
2、畫直線、矩形方法
例[6-1_7]用Line方法畫三角形和矩形。
解題思路:畫三角形:前一條直線的終點(diǎn)就是后一條直線的起點(diǎn)
,依次畫完
三條線就構(gòu)成三角形。
rem
自定義坐標(biāo)系,左上角(0,0),右下角(100,100)Scale(0,0)-(100,100)DrawWidth=5
rem
畫三角形
Line(10,30)-(10,80),vbRed'(10,30)-(10,80)Line-(40,80),vbGreen'(10,80)-(40,80)Line-(10,30),vbBlue'(40,80)-(10,30)
rem
畫矩形
Line(50,30)-(80,80),vbRed,BF6.1
圖形控件
6.1.3圖形方法
3、畫圓方法
Circle方法用于畫圓、橢圓、圓弧和扇形;格式:
[對(duì)象名].Circle[Step](x,y),radius,[color],[start],[end][,aspect]
其中:對(duì)象名:窗體或圖片框;
Step:可選項(xiàng),有該參數(shù)時(shí)表示坐標(biāo)為相對(duì)于當(dāng)前點(diǎn)的坐標(biāo),否則為絕對(duì)坐標(biāo)。
(x,y):中心坐標(biāo)
Radius:半徑
Color:邊框顏色,若省略則使用ForeColor屬性指定的顏色;
Start,End:指定弧的起始、終止位置,以弧度為單位,取值:-2π~2π;負(fù)號(hào)表示在畫弧的同時(shí),還畫出圓心到弧的的端點(diǎn)的連線;
Aspect:表示縱軸和橫軸的尺寸比,Aspect<1,則表示在x軸方向畫橢圓,Aspect>1,表示在y軸方向畫橢圓,默認(rèn)為1;6.1
圖形控件
6.1.3圖形方法
3、畫圓方法
例[6-1_8]用Circle方法畫圓。
Scale(0,0)-(100,100)'自定義坐標(biāo)系
Constpi=3.1415926Circle(25,50),20'畫標(biāo)準(zhǔn)圓
Circle(25,50),20,vbGreen,,,0.5'畫綠色橢圓,縱橫比0.5Circle(25,50),20,vbRed,,,2'畫紅色橢圓,縱橫比2
Circle(75,50),20,,-0.25*pi,-0.75*pi'畫扇形
Circle(75,50),20,,1.25*pi,1.75*pi'畫扇形
Circle(50,70),20,,-0.25*pi,0.75*pi'畫扇形6.2
選擇性控件6.2.1單選鈕、復(fù)選框和框架
1、單選鈕和復(fù)選框
單選鈕(OptionButton)和復(fù)選框(CheckBox)常用來表示“選中”或“不選”兩種狀態(tài),單選鈕用”●”表示被選中,復(fù)選框用“√”表示被選中。
⑴、主要屬性
①Caption:單選鈕和復(fù)選框的文本標(biāo)題②Value:屬性名屬性值說明單選鈕的Value屬性True被選中False未被選中復(fù)選框的Value屬性0未被選中1被選中2被禁止操作,呈灰色,可被選中注意事項(xiàng):同一組單選鈕中只能有一個(gè)被選中,即只能有一個(gè)單選鈕的Value屬性值為True;而對(duì)于同一組復(fù)選框,則允許多個(gè)被選中,而且其選中狀態(tài)為反復(fù)的。6.2
選擇性控件6.2.1單選鈕、復(fù)選框和框架
例[6_9]用復(fù)選框?qū)傩栽O(shè)置示例。設(shè)置4個(gè)復(fù)選框,狀態(tài)如下:北京選中可用
上海未選中可用廣州選中不可用深圳未選中不可用
解題思路:“選中”用屬性value的“checked”值表示;“未選中”用屬性value的“unchecked”值表示;“可用”用屬性enabled的“true”值表示;“不可用”用屬性enabled的“false”值表示;
6.2
選擇性控件6.2.1單選鈕、復(fù)選框和框架
2、主要事件:
單選鈕和復(fù)選框都能相應(yīng)Click等事件,由于鼠標(biāo)單擊即能改變其Value屬性值,故可根據(jù)Value屬性值決定執(zhí)行處理過程。
例[6_10]用單選鈕和復(fù)選框設(shè)置文字的字體字形。
解題思路:由于一組單選鈕只能有一個(gè)被選中,因此,在單選鈕的click事件中直接給文本框的文字賦相應(yīng)的值即可;復(fù)選框的選中狀態(tài)是反復(fù)的,因此需要判斷復(fù)選框的value值,而后再給文本框的文字賦相應(yīng)的值。
6.2
選擇性控件6.2.1單選鈕、復(fù)選框和框架
例[6-1]用單選鈕來設(shè)置文本框的背景顏色,即改變文本框的BackColor。解題思路:由于每點(diǎn)擊一次單選鈕,就表示單選鈕被選中;因此在單選鈕的click事件中,對(duì)文本框的背景色進(jìn)行相應(yīng)的賦值。‘設(shè)置文本框背景色為紅色Text1.BackColor=vbRed‘設(shè)置文本框背景色為綠色Text1.BackColor=vbGreen‘設(shè)置文本框背景色為藍(lán)色Text1.BackColor=vbBlue6.2
選擇性控件6.2.1單選鈕、復(fù)選框和框架
例[6-11]在窗體上放置三個(gè)復(fù)選框,標(biāo)題依次為“旅游”、“體育”、“音樂”,另有一個(gè)命令按鈕,標(biāo)題為“興趣”。程序運(yùn)行后,選中復(fù)選框,再點(diǎn)擊命令按鈕,則在窗體上顯示相應(yīng)的的信息。解題思路:由于每點(diǎn)擊一次單選鈕,就表示單選鈕被選中;因此在單選鈕的click事件中,依次判斷各個(gè)單選鈕是否被選中,若選中,則將命令按鈕的標(biāo)題和復(fù)選框的標(biāo)題連接起來,最后將該字符串顯示出來。6.2
選擇性控件6.2.1
單選鈕、復(fù)選框和框架
2、框架(Frame)
框架(Frame)是用來對(duì)窗體上的對(duì)象進(jìn)行分組。比如有兩組不同類別的單選鈕,若不用框架分組,則這些單選鈕只能有一個(gè)的Value屬性值為True,用框架分組后,則每組單選鈕均可有一個(gè)Value屬性值為True。
主要屬性:
Caption:用于設(shè)置框架上的可見文字說明,若為空,則框架成為一個(gè)封閉的矩形框;
Enabled:決定框架控件是否有效;
Visible:決定框架控件是否可見;6.2
選擇性控件6.2.1
單選鈕、復(fù)選框和框架
2、框架(Frame)
例[6-2]用一組單選鈕來設(shè)置文本框的背景色,另一組單選鈕來設(shè)置文本框中文字的字體。
解題思路:設(shè)置兩個(gè)框架(Frame),將兩組單選鈕各放其中,然后,編寫每個(gè)單選鈕的click事件。IfOption1.Value=TrueThenText1.BackColor=vbRed
IfOption2.Value=TrueThenText1.BackColor=vbGreenIfOption3.Value=TrueThenText1.BackColor=vbBlueIfOption4.Value=TrueThenText1.FontName="楷體_gb2312"IfOption5.Value=TrueThenText1.FontName="黑體"IfOption6.Value=TrueThenText1.FontName="宋體"6.2
選擇性控件6.2.1
單選鈕、復(fù)選框和框架
2、框架(Frame)
例[6-2_12]用一組單選鈕來設(shè)置文本中字體,另一組單選鈕設(shè)置文本框中的字體顏色。
解題思路:設(shè)置兩個(gè)框架(Frame),將兩組單選鈕各放其中,將具體的程序?qū)懭朊畎粹o的click事件中。Rem
字體為宋體,字體顏色為紅色
IfOption1.Value=TrueAndOption3.Value=TrueThenText1.Text="您選擇了宋體紅色"Text1.FontName="宋體"Text1.ForeColor=vbRedEndIf
…6.2
選擇性控件6.2.2列表框和組合框
1、列表框(ListBox)
列表框用于顯示一個(gè)項(xiàng)目列表,用戶可以選擇其中的一項(xiàng)或多項(xiàng)。若列表框中的內(nèi)容超過可顯示的數(shù)目,則自動(dòng)增加滾動(dòng)條;用戶只能從列表框中選擇內(nèi)容,而不能直接寫入和修改其中的內(nèi)容;列表框6.2
選擇性控件6.2.2列表框和組合框
1、列表框(ListBox)
⑴主要屬性:屬性名屬性值說明Column0(默認(rèn))默認(rèn)列表框只有一列>0多列顯示List字符串?dāng)?shù)組數(shù)組的每個(gè)元素存放一個(gè)項(xiàng)目的內(nèi)容,List(0),List(1)…ListCount整型數(shù)據(jù)返回列表框中的項(xiàng)目的數(shù)目ListIndex整型數(shù)據(jù)返回當(dāng)前被選中的項(xiàng)目序號(hào),即List數(shù)組下標(biāo),無項(xiàng)目被選中,屬性值為-1MultiSelect0(默認(rèn))列表框只能單選,不允許多選1可以多選,后續(xù)的選擇不影響前面的選擇2擴(kuò)展多選,可以選擇一組連續(xù)的項(xiàng)目,也可以選擇一組不連續(xù)的Selected邏輯型數(shù)組Selected(0),Selected(1).若為True,則對(duì)應(yīng)的項(xiàng)目被選中,否則未被選中Sorted邏輯型數(shù)值True表示按字母數(shù)字升序排列,否則按實(shí)際先后排序Style數(shù)值型0-標(biāo)準(zhǔn)型,1-復(fù)選框型Text字符串?dāng)?shù)據(jù)返回當(dāng)前被選中的項(xiàng)目內(nèi)容,為默認(rèn)屬性6.2
選擇性控件6.2.2列表框和組合框
注意:
①List屬性用來設(shè)置列表框的內(nèi)容;該屬性是一個(gè)字符數(shù)組,數(shù)組大小由“ListCount”屬性決定,數(shù)組下標(biāo)從0開始,運(yùn)行時(shí),引用列表框的第一項(xiàng)是“List(0)”,第二項(xiàng)是”list(1)”…依此類推。
②List(List1.listIndex)等于Text,
List1.List(List1.ListIndex)=List1.Text;
即:List1.text為列表框中選中的項(xiàng)目的內(nèi)容;
③List數(shù)組和Selected數(shù)組在程序中使用時(shí),通常應(yīng)在數(shù)組元素前加上對(duì)象名List1。數(shù)組元素的完整表示為:List1.List(0),List1.List(1)…
和List1.Selected(0),List1.Selected(1)…等;④List1.ListIndex
為列表框中選中項(xiàng)目的位置;
6.2
選擇性控件6.2.2列表框和組合框
⑵、事件列表框接受Click、Dblclick等一些常用事件;
⑶、方法
①AddItem方法格式:<列表框>.Additem
項(xiàng)目字符串[,位置值]
該方法是將項(xiàng)目字符串所指定的一個(gè)項(xiàng)目插入到由位置值所指定的位置上,位置值由0~ListCount-1,每插入一項(xiàng),ListCount屬性自動(dòng)加1,若省略位置值,則新增的項(xiàng)目添加到最后。
②
Clear方法格式:<列表框>.Clear
該方法用于清除列表框中所有的項(xiàng)目,將ListCount屬性值置為0。
③RemoveItem格式:<列表框>.RemoveItem
位置值
該方法將指定位置上的項(xiàng)目從列表框中刪除,ListCount屬性值減1;6.2
選擇性控件6.2.2列表框和組合框
例[6-3_1]
顯示列表框的基本屬性。在列表框中加入若干內(nèi)容,單擊列表框中的某一項(xiàng),則在窗體上顯示列表框的內(nèi)容項(xiàng)以及該項(xiàng)在列表框中的位置。
解題思路:在列表框的click事件中編寫程序:顯示列表框的內(nèi)容項(xiàng)
list1.text和該項(xiàng)的位置list1.listindex;。
PrivateSubList1_Click()PrintList1.Text;List1.ListIndexEndSub6.2
選擇性控件6.2.2列表框和組合框
例[6-3]
交換兩個(gè)列表框中的項(xiàng)目,其中一個(gè)列表框的項(xiàng)目為“a,b,c”,按字母數(shù)字升序排列,另一個(gè)列表框中的項(xiàng)目為”1、2、3“,按加入的先后順序排列,程序運(yùn)行后,雙擊某一個(gè)列表框中的一個(gè)項(xiàng)目,該項(xiàng)目會(huì)移動(dòng)到另一個(gè)列表框,并從原列表框中刪除。
解題思路:在窗體上創(chuàng)建兩個(gè)列表框,其中一個(gè)Sorted屬性值設(shè)為True,另一個(gè)的Sorted屬性值設(shè)為False,其他屬性值均使用默認(rèn)值,在各自的dblclick
事件中編寫程序:首先將選定的項(xiàng)目增加到另一個(gè)列表框中,再從本列表框中刪除該項(xiàng)目。PrivateSubList1_DblClick()'將列表框1的項(xiàng)目添加到列表框2List2.AddItemList1.Text'從列表框1中刪除該項(xiàng)List1.RemoveItemList1.ListIndexEndSubPrivateSubList2_DblClick()'將列表框2的項(xiàng)目添加到列表框1中List1.AddItemList2.Text'從列表框2中刪除該項(xiàng)
List2.RemoveItemList2.ListIndexEndSub6.2
選擇性控件6.2.2列表框和組合框
例[6-2_4]列表框項(xiàng)目添加和刪除。在窗體上畫兩個(gè)單選鈕,再畫一個(gè)列表框和一個(gè)文本框,程序運(yùn)行后,選擇添加項(xiàng)目到列表框或刪除列表框中的項(xiàng)目,若后點(diǎn)擊窗體執(zhí)行程序。解題思路:在窗體的click事件中首先判斷單旋鈕的選中狀況,而后對(duì)列表框執(zhí)行增加或刪除命令。
DimiAsIntegerIfOption1.Value=TrueThenText1.Text=InputBox("請(qǐng)輸入要添加的項(xiàng)目:")List1.AddItemText1.TextEndIfIfOption2.Value=TrueThenText1.Text=InputBox("請(qǐng)輸入要?jiǎng)h除的項(xiàng)目:")‘遍歷列表框中的每一項(xiàng),若項(xiàng)目內(nèi)容與文本框的內(nèi)容相同,則刪除該項(xiàng)目
Fori=0ToList1.ListCount-1IfList1.List(i)=Text1.TextThenList1.RemoveItemiEndIfNextEndIf6.2
選擇性控件6.2.2列表框和組合框
2、組合框(ComboBox)
組合框是綜合列表框和文本框的特性而成的一個(gè)控件。組合框既可以像文本框一樣接受用戶輸入,也可以像列表框一樣列舉多個(gè)項(xiàng)目供用戶選擇,默認(rèn)名稱為Combo1.
6.2
選擇性控件6.2.2列表框和組合框
2、組合框(ComboBox)
⑴主要屬性:屬性名屬性值說明Style0稱為“下拉組合框”,類似一個(gè)下拉列表框,,可以多選項(xiàng)目;可以輸入文本,接受DropDown事件1稱為“簡單組合框”,由一個(gè)文本框和一個(gè)簡單的列表框組成2稱為“下拉式列表框”,不接受文本輸入,可響應(yīng)DropDown事件Text字符串型數(shù)據(jù)存放用戶所選項(xiàng)目內(nèi)容或直接輸入的文本6.2
選擇性控件6.2.2列表框和組合框
⑵主要事件:組合框響應(yīng)的事件依賴于Style屬性值“
Style=0,可響應(yīng)Click、Dblclick、Change和DropDown事件;
Style=1,可響應(yīng)Click、Change事件;
Style=2,可響應(yīng)Click和DropDown事件;當(dāng)用戶單擊組合框右端的向下小箭頭時(shí),將觸發(fā)DropDown事件。
⑶主要方法:常用方法同列表框,有AddItem、Clear和RemoveItem方法。6.2
選擇性控件6.2.2列表框和組合框
例[6-4_0]組合框應(yīng)用。在窗體上畫兩個(gè)組合框,一個(gè)顯示的字體號(hào),一個(gè)設(shè)置顯示的字體。
解題思路:組合框的click事件中編寫相應(yīng)的命令:分別設(shè)置標(biāo)簽的字體號(hào)和字體名稱。
PrivateSubCombo1_Click()Label3.FontSize=Combo1.TextEndSubPrivateSubCombo2_Click()Label3.FontName=Combo2.TextEndSub6.2
選擇性控件6.2.2列表框和組合框
例[6-4_1]組合框應(yīng)用一。用戶輸入教師的姓名,根據(jù)組合框提示選擇性別、職稱和學(xué)歷四項(xiàng)基本信息,按“確定”命令按鈕后將一個(gè)教師的四項(xiàng)基本信息寫入一個(gè)列表框內(nèi)。
解題思路:在窗體的load事件中,給”性別“、”職稱“、”學(xué)歷“賦予初值,而后在命令按鈕中編寫列表框的增加項(xiàng)目的命令。
6.2
選擇性控件6.2.2列表框和組合框
例[6-4_2]
組合框應(yīng)用二。程序運(yùn)行時(shí),分別在兩個(gè)組合框輸入姓名和籍貫,單擊“添加”將其添加;在組合框中選擇相應(yīng)的項(xiàng)目后,單擊“刪除”將其刪除;“按統(tǒng)計(jì)”按鈕,統(tǒng)計(jì)組合框中項(xiàng)目的個(gè)數(shù)6.3
滾動(dòng)條
滾動(dòng)條分為水平滾動(dòng)條(HScrollBar)和垂直滾動(dòng)條(VScrollBar);
1、主要屬性:屬性名屬性值說明Value整型數(shù)據(jù)該屬性返回滾動(dòng)塊當(dāng)前位置。Max整型數(shù)據(jù)[-32768~32767],滾動(dòng)條能表示的最大值Min整型數(shù)據(jù)[-32768~32767],滾動(dòng)條能表示的最小值LargeChange整型數(shù)據(jù)[1~32767],單擊滾動(dòng)條區(qū)域時(shí)Value值的增量或減量SmallChange整型數(shù)據(jù)[1~32767],單擊滾動(dòng)箭頭時(shí)Value屬性值的變化幅度6.3
滾動(dòng)條
2、主要事件⑴Scroll事件:當(dāng)在滾動(dòng)條內(nèi)拖動(dòng)滾動(dòng)塊時(shí)觸發(fā)的事件;⑵Change事件:當(dāng)滾動(dòng)塊被移動(dòng)到新位置后或在程序執(zhí)行過程中Value屬性值發(fā)生變化觸發(fā)的事件;
例[6-5]設(shè)計(jì)一個(gè)用于設(shè)置速度的滾動(dòng)條。
解題思路:由于拖動(dòng)滾動(dòng)條或在滾動(dòng)條區(qū)域內(nèi)點(diǎn)擊鼠標(biāo),都會(huì)改變滾動(dòng)條的value屬性值,根據(jù)滾動(dòng)條返回的value值,顯示在文本框和標(biāo)簽里。PrivateSubHScroll1_Change()Text1.Text=HScroll1.ValueEndSubPrivateSubHScroll1_Scroll()Label4.Caption="movingto"&HScroll1.ValueEndSub6.3
滾動(dòng)條
例[6-5_1]用滾動(dòng)條擴(kuò)大和縮小窗體。在窗體上畫一個(gè)垂直滾動(dòng)條和一個(gè)水平滾動(dòng)條;程序運(yùn)行后,若滾動(dòng)滾動(dòng)條上的滾動(dòng)滑塊,則可擴(kuò)大和縮小窗體。
解題思路:首先在窗體的Load事件對(duì)窗體和滾動(dòng)條進(jìn)行初始化,利用滾動(dòng)條的scroll事件,橫滾動(dòng)條放大窗體的寬度(width),豎滾動(dòng)條放大窗體的高度(height)。
PrivateSubHScroll1_Scroll()Form1.Width=Form1.Tag*HScroll1.Value/HScroll1.MinEndSubPrivateSubVScroll1_Scroll()Form1.Height=Form1.Tag*VScroll1.Value/VScroll1.MinEndSub6.4
時(shí)鐘
VB系統(tǒng)提供了一個(gè)時(shí)鐘控件(Timer),用戶可以通過該控件使用系統(tǒng)時(shí)鐘來計(jì)時(shí),也允許用戶自己定制時(shí)間,每一個(gè)時(shí)間間隔內(nèi)出發(fā)一個(gè)計(jì)時(shí)器事件。
1、主要屬性
Interval:用于決定時(shí)鐘觸發(fā)事件的事件間隔;為整型值,取值范圍:0-65535,單位:毫秒。
Enabled:設(shè)置時(shí)鐘控件是否有效。
2、主要事件
Timer:每經(jīng)過一個(gè)Interval屬性設(shè)定的時(shí)間間隔,就觸發(fā)一次Timer事件。
6.4
時(shí)鐘
例[6-6]
設(shè)計(jì)一個(gè)數(shù)字時(shí)鐘。
解題思路:根據(jù)Timer控件設(shè)置的的Interval屬性值為1000,每隔一次Interval,就利用vb的time函數(shù)獲取一次系統(tǒng)時(shí)間。
PrivateSubTimer1_Timer()Label1.FontName="timesnewroman"Label1.FontSize=48Label1.Caption=Time$
'time函數(shù)獲取當(dāng)前系統(tǒng)時(shí)間
EndSub6.4
時(shí)鐘例[6-6_1]利用Timer控件,移動(dòng)窗體上的控件。
解題思路:在Form的Load事件中,設(shè)置Timer控件的Interval和Enabled屬性,每隔一次Interval,標(biāo)簽的Top就減一次100個(gè)單位,向上移動(dòng)一次。PrivateSubCommand1_Click()Timer1.Enabled=TrueEndSubPrivateSubForm_Load()Timer1.Enabled=FalseTimer1.Interval=500EndSubPrivateSubTimer1_Timer()IfLabel1.Top>0ThenLabel1.Top=L
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年全球及中國生物樣品袋行業(yè)運(yùn)營動(dòng)態(tài)及投資前景預(yù)測報(bào)告
- 2024-2030年全球及中國淡水水產(chǎn)養(yǎng)殖網(wǎng)箱行業(yè)需求規(guī)模及前景趨勢預(yù)測報(bào)告
- 2024-2030年全球及中國氟硅酸鈉行業(yè)發(fā)展態(tài)勢及產(chǎn)銷規(guī)模預(yù)測報(bào)告
- 2024-2030年全球及中國半導(dǎo)體封裝電鍍液行業(yè)需求動(dòng)態(tài)及投資趨勢預(yù)測報(bào)告
- 2024-2030年全球與中國1,3環(huán)己二甲胺行業(yè)需求動(dòng)態(tài)及投資前景預(yù)測報(bào)告
- 2024年度丙方作為甲乙雙方清關(guān)代理的合同
- 2024-2030年中國香薰蠟燭行業(yè)產(chǎn)值預(yù)測及投資策略分析報(bào)告版
- 2024-2030年中國頸肩腰腿痛磁療貼市場競爭趨勢及發(fā)展策略分析報(bào)告
- 2024-2030年中國面條行業(yè)市場競爭戰(zhàn)略及投資營銷模式分析報(bào)告
- 2024-2030年中國集成吊頂行業(yè)競爭狀況與營銷策略研究報(bào)告
- 初中語文教學(xué)中生本理念的實(shí)踐分析
- 最新患者用藥情況監(jiān)測
- 試樁施工方案 (完整版)
- ESTIC-AU40使用說明書(中文100版)(共138頁)
- 河北省2012土建定額說明及計(jì)算規(guī)則(含定額總說明)解讀
- 中工商計(jì)算公式匯總.doc
- 深圳市建筑裝飾工程消耗量標(biāo)準(zhǔn)(第三版)2003
- 《初中英語課堂教學(xué)學(xué)困生轉(zhuǎn)化個(gè)案研究》開題報(bào)告
- 鋼筋桁架樓承板施工方案
- 恒溫箱PLC控制系統(tǒng)畢業(yè)設(shè)計(jì)
- 176033山西《裝飾工程預(yù)算定額》定額說明及計(jì)算規(guī)則
評(píng)論
0/150
提交評(píng)論