visual程序設(shè)計全版vbnet第8課_第1頁
visual程序設(shè)計全版vbnet第8課_第2頁
visual程序設(shè)計全版vbnet第8課_第3頁
visual程序設(shè)計全版vbnet第8課_第4頁
visual程序設(shè)計全版vbnet第8課_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Visual

Basic.NET程序設(shè)計(8)1

授課教師:柳青

電 話:67703852

辦公室:學院樓B418

E-mail

:上周回顧2循環(huán)Do(While/Until)……Loop先判斷后執(zhí)行Do……Loop(While/Until)先執(zhí)行后判斷圖形自定義顏色FromArgb(int

Alpha,

int

red,

int

green,

intblue)Graphics對象.DrawString

(string,

font,

brush,point)Graphics對象.DrawLine

(pen,point1,point2)窗體的Paint事件當窗體創(chuàng)建、隱藏、放大或縮小時,會自動調(diào)用Paint函數(shù)中的代碼重繪。上周回顧之π的近似值

1

1

1

1

1

1

4

3

5

7

9

11第1項第2項第3項第4項第5項3π的近似值——error1Error1:神奇的變量有錯誤,為什么,錯誤在哪里?Dim

ee#等同于Dim

ee

As

Double4再論數(shù)據(jù)類型5數(shù)據(jù)類型(關(guān)鍵字)類型符占字節(jié)數(shù)范圍Short2-215~215-1Integer%4-231~231-1Long&8-263~263-1Single!4-3.4×1038~3.4×1038Double#8-1.7×10308~1.7×10308Decimal@16-296-1~296-1精度:單精度浮點數(shù):7位雙精度浮點數(shù):16位整數(shù):(123.0不是整數(shù),而是單精度數(shù))運算速度快、精確,但表示數(shù)的范圍小一般使用Integer存放整數(shù),需要小整數(shù)或大整數(shù)時,可使用Short或Longπ的近似值——error2Error2:命名空間有錯誤,為什么,錯誤在哪里?6理解命名空間項數(shù)n的正確計算命名空間的用法7“快/慢”按鈕第2種方法“開始/停止”按鈕第1種方法8某些屬性9NameEnabledTrueFalseVisibleTrueFalseTextVisual

Basic.NET

程序設(shè)計10第八課定時器、圖形控件位置TopHeightLeftWidthy11x(0,0)12示例:標簽移動淡藍色的“上海對外貿(mào)易學院歡迎你”每隔500毫秒自動向左移動10像素,全部移出后從右邊逐字移入添加標簽Label1,顏色(淡藍色),放置在窗體右下角注意Timer1定時器的時間間隔就是500毫秒在Timer1控件的Tick事件中添加如下語句:Me.WidthLabel1.Width變量的作用域13變量在過程中是必不可少的,變量聲明的位置不同,可被訪問的范圍也不同塊級變量在控制結(jié)構(gòu)塊中聲明的變量,只能在本塊內(nèi)有效控制結(jié)構(gòu):If……EndIf、For……Next、Do……Loop等過程級變量在一個過程內(nèi)用Dim或Static語句聲明的變量,只能在本過程中使用模塊級變量窗體類(Class)、類(Class)、模塊(Module)都稱為模塊在模塊內(nèi)、任何過程外用Dim、Private語句聲明的變量,可被本模塊的任何過程訪問全局變量在模塊級用Public語句聲明的變量,可被應(yīng)用程序的任何過程或函數(shù)訪問不同級的變量聲明14Module

Module1'Pa全局變量'Mb模塊級變量'Fb過程級變量'k塊級變量Public

Pa

As

integerDim

Mb As

stringSub F2()Dim

Fb As

SingleFor

i=1

to

10Dimk%…Next

iEnd

SubEnd

Module靜態(tài)變量15靜態(tài)變量過程級變量除了用Dim語句聲明外,還可以用Static將變量聲明為靜態(tài)變量在程序運行過程中可保留變量的值聲明形式:Static

變量名[AS

類型]區(qū)別用Dim聲明的變量,每次調(diào)用過程時重新初始化用Static聲明的變量,保持原來的值示例(續(xù)):轉(zhuǎn)動的月亮月亮圖片文件(注意圖片文件要復制到Bin\Debug文件夾)moon01.ico,moon02.ico,……,moon08.ico添加定時器Timer2,設(shè)置如下屬性Interval:

100Enabled:True添加圖像框PictureBox1

,設(shè)置如下屬性SizeMode

CenterImage16兩種做法靜態(tài)變量將x定義為模塊級變量將Static

x

As

Integer改為Dim

x%會出現(xiàn)什么樣的結(jié)果?17一、建立Graphics對象(構(gòu)造畫布)Dim畫布對象As

Graphics畫布對象=控件對象.CreateGraphics或:Dim

畫布對象AsGraphics=控件對象.CreateGraphics例:Dim

gg

AsGraphicsg=

Me.CreateGraphics注:G定義模塊級對象在窗體上構(gòu)造畫布g=PictureBox2.CreateGraphics

在圖形框上構(gòu)造畫布或:Dim

gg

As

Graphics=Me.CreateGraphics坐標系默認坐標原點在左上角坐標變換方法TranslateTransform(x,y):平移,原點移動x,yRotateTransform(a):坐標系旋轉(zhuǎn)a度ResetTransform():還原默認坐標二、定義繪圖工具(畫筆、畫刷等)畫筆PenDim

畫筆對象AsNewPen(顏色,[線寬])畫筆的樣式DashStyleDashDashDotDashDotDotDotSolid虛線點劃線雙點劃線點線內(nèi)實線例:Dim

PAsNewPen(Color.Red,2)P.DashStyle

=

Drawing2D.DashStyle.Dot二、定義繪圖工具(畫筆、畫刷等)畫刷單色刷Dim

對象變量As

New

SolidBrush(顏色)紋理刷Dim

對象變量As

New

TextureBrush(New

Bitmap(“圖片文件名"))漸變刷Dim

對象變量As

New

LinearGradientBrush(點1,點2,起點色,終點色)網(wǎng)格刷Dim對象變量AsNewHatchBrush(條紋類型,前景色,背景色)注:使用漸變刷、網(wǎng)格刷需在窗體代碼最前面導入命名空間

Imports

System.Drawing.Drawing2D三、繪圖方法-直線繪制直線DrawLineGraphics對象.DrawLine(pen,

point1,

point2)注:pen:畫筆point1:起點坐標(x1,

y1)point2:終點坐標(x2,

y2)三、繪圖方法-矩形繪制矩形Graphics對象.DrawRectangle(

pen,

x,

y,寬,高)Graphics對象.FillRectangle(

brush,

x,

y,寬,高)注:pen:畫筆brush:畫刷x,

y為矩形左上角坐標(x,y)三、繪圖方法-橢圓繪制橢圓Graphics對象.DrawEllipse(

pen,

x,y,2*a,2*b)Graphics對象.FillEllipse(

brush,

x,

y,2*a,2*b)注:pen:畫筆brush:畫刷x,

y,為橢圓外切矩形的左上角坐標a為橢圓的長半軸、b為橢圓的短半軸當a=b

時,橢圓變成圓(x,y)2*a2*b練習:實現(xiàn)畫圖按鈕的功能定義的Graphics對象gg,將坐標系原點平移至圖片框PictureBox1中心,以此為新坐標系的原點,繪制直角坐標系、繪制一個長為100、寬為50像素的長方形和長半軸為50、短半軸為25像素的橢圓。Dim

gg

As

Graphics

聲明為模塊級的變量gg=

PictureBox2.CreateGraphicsDim

x0,

y0

As

Singlex0=

PictureBox2.Width

/

2y0

=

PictureBox2.Height

/

2gg.TranslateTransform(x0,

y0)Dim

P1

As

New

Pen(Color.Black)Dim

P2

As

New

Pen(Color.Blue)Dim

P3

As

New

Pen(Color.Red)gg.DrawLine(P1,

-200,

0,

200,

0)gg.DrawLine(P1,

0,

-150,

0,

150)gg.DrawRectangle(P2,

-50,-25,

100,

50)gg.DrawEllipse(P3,

-50,

-25,

100,

50)練習、畫棋盤在圖形框中繪制10×10圍棋棋盤,棋盤的左上角坐標為(50,20),線距為30像素。gg

=

PictureBox2.CreateGraphicsDim

P

As

New

Pen(Color.Black,

1)Dim

i

As

IntegerFor

i

=

0

To

9gg.DrawLine(P,

50,

20

+

30

*

i,

320,

20

+

30

*

i)gg.DrawLine(P,

50

+

30

*

i,

20,

50

+

30

*

i,

290)Next練習、畫隨機圓在圖形框中隨機畫100個圓,圓的位置、顏色隨機,直徑在10~60像素之間。gg

=

PictureBox2.CreateGraphicsDim

x,

y,

s,

i

AsIntegerDim

CR,

CG,

CB

AsIntegerFor

i

=

1

To

100x

=

Int(PictureBox2.Width

*

Rnd())y

=

Int(PictureBox2.Height

*

Rnd())s

=

Int(51

*

Rnd()

+

10)CR

=

Int(256

*

Rnd())

:

CG

=

Int(256

*

Rnd())

: CB

=

Int(256

*Rnd())Dim

P

As

New

Pen(Color.FromArgb(CR,

CG,

CB),1)gg.DrawEllipse(P,

x,

y,

s,

s)Next三、繪圖方法-清除畫布清除Graphics對象.Clear(顏色)練習、清除圖形清除在圖形框中所畫圖形,并設(shè)置為白色gg

=

PictureBox2.CreateGraphicsgg.Clear(Color.White)練習、畫藝術(shù)圖形1利用坐標旋轉(zhuǎn),將正方形進行疊加產(chǎn)生藝術(shù)圖,在圖形框中間畫36個邊長為60像素的紅色正方形,正方形之間旋轉(zhuǎn)10度,正方形起點坐標相對坐標原點為(10,10)。gg

=PictureBox2.CreateGraphicsDim

P

As

New

Pen(Color.Red,1)Dim

i

AsIntegergg.TranslateTransform(PictureBox2.Width

/

2,

PictureBox2.Height

/

2)gg.DrawLine(P,

-150,

0,

150,

0)gg.DrawLine(P,0,

-150,

0,

150)For

i

=

1

To

36gg.RotateTransform(10)gg.DrawRectangle(P,

10,

10,

60,

60)Nextgg.DrawEllipse(P,

-50,

-50,

100,

100)練習、畫藝術(shù)圖形2利用DrawEllipse方法繪制藝術(shù)圖形,把一個半徑為70的圓等分為36份,以這36個等分點為圓心,以40為半徑繪制36個藍色圓。gg

=PictureBox2.CreateGraphicsDim

P

As

New

Pen(

溫馨提示

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

評論

0/150

提交評論