欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

關(guān)于vb.net寫時(shí)鐘的信息

vb.net編程一個(gè)用鍵盤控制的東西

最簡(jiǎn)單的加速運(yùn)動(dòng)示例,直接拷貝代碼,即可用方向鍵控制控件移動(dòng)

成都創(chuàng)新互聯(lián)是少有的成都網(wǎng)站制作、成都做網(wǎng)站、營(yíng)銷型企業(yè)網(wǎng)站、小程序開發(fā)、手機(jī)APP,開發(fā)、制作、設(shè)計(jì)、友情鏈接、推廣優(yōu)化一站式服務(wù)網(wǎng)絡(luò)公司,成立于2013年,堅(jiān)持透明化,價(jià)格低,無套路經(jīng)營(yíng)理念。讓網(wǎng)頁驚喜每一位訪客多年來深受用戶好評(píng)

Public?Class?最簡(jiǎn)單的加速運(yùn)動(dòng)

Dim?左右,?上下?As?Integer

Dim?X,?Y,?VX,?VY,?VA?As?Double

Dim?WithEvents?時(shí)鐘?As?New?Timer

Dim?WithEvents?移動(dòng)控件?As?New?Label

Private?Sub?Form1_Load(sender?As?Object,?e?As?EventArgs)?Handles?MyBase.Load

Me.KeyPreview?=?True

VA?=?0.5

X?=?300.0

Y?=?300.0

移動(dòng)控件.BackColor?=?Color.MediumPurple

移動(dòng)控件.Size?=?New?Size(60,?60)

Controls.Add(移動(dòng)控件)

時(shí)鐘.Interval?=?25

時(shí)鐘.Enabled?=?True

End?Sub

Private?Sub?Form1_KeyDown(sender?As?Object,?e?As?KeyEventArgs)?Handles?MyBase.KeyDown

If?e.KeyCode?=?Keys.Up?Then?上下?=?-1

If?e.KeyCode?=?Keys.Down?Then?上下?=?1

If?e.KeyCode?=?Keys.Left?Then?左右?=?-1

If?e.KeyCode?=?Keys.Right?Then?左右?=?1

End?Sub

Private?Sub?Form1_KeyUp(sender?As?Object,?e?As?KeyEventArgs)?Handles?MyBase.KeyUp

If?e.KeyCode?=?Keys.Up?Then?上下?=?0

If?e.KeyCode?=?Keys.Down?Then?上下?=?0

If?e.KeyCode?=?Keys.Left?Then?左右?=?0

If?e.KeyCode?=?Keys.Right?Then?左右?=?0

End?Sub

Private?Sub?時(shí)鐘_Tick(sender?As?Object,?e?As?EventArgs)?Handles?時(shí)鐘.Tick

VX?=?Math.Min(VX?+?左右?*?VA,?10)

VY?=?Math.Min(VY?+?上下?*?VA,?10)

X?+=?VX

Y?+=?VY

If?X??0?Then?X?=?2?:?VX?=?-VX

If?Y??0?Then?Y?=?2?:?VY?=?-VY

If?X??Width?-?移動(dòng)控件.Width?Then?X?=?Width?-?移動(dòng)控件.Width?-?2?:?VX?=?-VX

If?Y??Height?-?移動(dòng)控件.Height?Then?Y?=?Height?-?移動(dòng)控件.Height?-?2?:?VY?=?-VY

移動(dòng)控件.Location?=?New?Point(X,?Y)

End?Sub

End?Class

用VB.net做一個(gè)時(shí)間計(jì)時(shí)器

'添加一個(gè)label標(biāo)簽名字label1 用來顯示時(shí)間

'再添加一個(gè)timer控件 名字timer1 interval屬性=1000 用來計(jì)時(shí)

'窗體添加代碼

Dim t As Date '用來記錄時(shí)間

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As _

System.EventArgs) Handles Timer1.Tick

t = t.AddSeconds(1)

Label1.Text = "登錄時(shí)間:" t.TimeOfDay.ToString

End Sub

vb.net開發(fā)簡(jiǎn)單的時(shí)鐘程序??高手救救我!

個(gè)

!

Hand類的代碼:

Public MustInherit Class Hand

Protected gp As GraphicsPath = New GraphicsPath()

Protected gpBase As GraphicsPath = Nothing

Protected midX As Integer = 150 ‘默認(rèn)的窗體

Protected midY As Integer = 150 ‘中心位置

‘構(gòu)造器,得到窗體中心位置

Public Sub New(ByVal theForm As Form1)

midX = (theForm.ClientRectangle.Left + theForm.ClientRectangle.Right) / 2

midY = (theForm.ClientRectangle.Top + theForm.ClientRectangle.Bottom) / 2

End Sub

MustOverride Sub Transform(ByVal d As DateTime)

‘繪制指針路徑

Overridable Sub Draw(ByVal g As Graphics)

Dim aPen As Pen = New Pen(Brushes.Black, 4F)

g.DrawPath(aPen, gp)

g.FillPath(Brushes.Black, gp)

aPen.Dispose()

End Sub

‘使用矩陣實(shí)現(xiàn)路徑(gp)的旋轉(zhuǎn)

Public Sub Rotate(ByVal angle As Double)

gp = CType(gpBase.Clone(), GraphicsPath)

Dim mTransform As Matrix = New Matrix()

mTransform.RotateAt(CType(angle,Single),NewPointF(midX,midY))

gp.Transform(mTransform)

End Sub

End Class

為了節(jié)省篇幅,上面的代碼省略了引入命名空間的語句。

下面是分針(MinuteHand)類的定義:

Public Class MinuteHand

Inherits Hand

‘構(gòu)造器,生成繪制分針的路徑(gp)

Public Sub New(ByVal myForm As Form1)

MyBase.New(myForm)

gp.AddLine(midX, midY, midX, 45)

gp.AddLine(midX, 45, midX - 3, 50)

gp.AddLine(midX - 3, 50, midX + 3, 50)

gp.AddLine(midX + 3, 50, midX, 45)

gpBase = CType(gp.Clone(), GraphicsPath)

End Sub

‘Transform方法取得系統(tǒng)當(dāng)前時(shí)間,并旋轉(zhuǎn)時(shí)鐘指針。

Public Overrides Sub Transform(ByVal d As DateTime)

Dim minuteTime As Double = (CDbl(d.Minute) + CDbl(d.Second / 60))

Dim angle As Double = (CDbl(minuteTime) / 60) * 360

Rotate(angle)

End Sub

End Class

對(duì)所有的指針旋轉(zhuǎn)的方法都是相同的,因此在基類中實(shí)現(xiàn)。由于時(shí)針和秒針的實(shí)現(xiàn)與分針相似,所不同者,只在于構(gòu)造器中繪制的指針路徑不同和Transform方法中轉(zhuǎn)動(dòng)的角度不同,在這里就不在贅述了。

另外還需要提一下的是畫時(shí)鐘表面的代碼,時(shí)鐘表面用ClockFace類來實(shí)現(xiàn)。這個(gè)類首先畫一個(gè)圓代表時(shí)鐘,然后畫上米老鼠的圖案,最后在相應(yīng)的位置畫上數(shù)字1~12代表12個(gè)小時(shí)。

Public Sub Draw(ByVal g As Graphics)

DrawClockFace(g)

DrawImage(g)

DrawNumbers(g)

DrawPin(g)

End Sub

下面是ClockFace類的屬性:

Private ClockRectangle As Rectangle

Private ClockFont As Font = New Font("Arial", 12)

Private midPoint As Point

Private ClockImage As Bitmap

Private Const IMAGEX As Integer = 50

Private Const IMAGEY As Integer = 50

DrawClockFace方法用來畫時(shí)鐘表面:

Private Sub DrawClockFace(ByVal g As Graphics)

g.FillEllipse(Brushes.White, ClockRectangle.Left + 10, ClockRectangle.Top + 10, ClockRectangle.Width - 20, ClockRectangle.Height - 20)

g.DrawEllipse(Pens.Black, ClockRectangle.Left + 10, ClockRectangle.Top + 10, ClockRectangle.Width - 20, ClockRectangle.Height - 20)

End Sub

然后用Graphics對(duì)象的DrawImage方法畫出米老鼠的圖片:

Private Sub DrawImage(ByVal g As Graphics)

Dim nWidth As Integer = ClockImage.Width

Dim nHeight As Integer = ClockImage.Height

Dim destRect As Rectangle = New Rectangle(midPoint.X - IMAGEX / 2, midPoint.Y - IMAGEY / 2, IMAGEX, IMAGEY)

g.DrawImage(ClockImage, destRect)

End Sub

數(shù)字在時(shí)鐘上的位置是用sin和cos函數(shù)計(jì)算的:

Private Sub DrawNumbers(ByVal g As Graphics)

Dim count As Integer = 1

Dim a As Double

For a = 0 To 2 * Math.PI Step 2 * Math.PI / 12

Dim x As Double = (ClockRectangle.Width - 70) / 2 * Math.Cos(a - Math.PI / 3) + (ClockRectangle.Width - 70) / 2 + 25

Dim y As Double = (ClockRectangle.Width - 70) / 2 * Math.Sin(a - Math.PI / 3) + (ClockRectangle.Width - 70) / 2 + 20

g.DrawString(Convert.ToString(count), ClockFont, Brushes.Black, CType(x, Single), CType(y, Single), New StringFormat())

count += 1

Next

End Sub

最后是窗體文件(Form1.vb):

Public Class Form1

Inherits System.Windows.Forms.Form

Private MyMinuteHand As MinuteHand

Private MyHourHand As HourHand

Private MySecondHand As SecondHand

Private TheClockFace As ClockFace

Private FirstTick As Boolean = False

‘在窗體的OnPaint事件中取得Graphics對(duì)象

Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)

If (FirstTick = False) Then Exit Sub

Dim g As Graphics = e.Graphics

TheClockFace.Draw(g)

MyHourHand.Draw(g)

MyMinuteHand.Draw(g)

MySecondHand.Draw(g)

TheClockFace.DrawPin(g)

End Sub

‘計(jì)時(shí)器事件

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

MySecondHand.Transform(DateTime.Now)

MyHourHand.Transform(DateTime.Now)

MyMinuteHand.Transform(DateTime.Now)

FirstTick = True

Invalidate()

新聞名稱:關(guān)于vb.net寫時(shí)鐘的信息
轉(zhuǎn)載源于:http://aaarwkj.com/article10/dssgddo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、靜態(tài)網(wǎng)站小程序開發(fā)、營(yíng)銷型網(wǎng)站建設(shè)、虛擬主機(jī)、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
亚洲成人久久久av一区| 国产成人精品福利一区二区| 午夜影院在线免费观看三区| 久久精品亚洲av三区麻豆| 美女床上激情啪啪网页| 国产精品一级性生活片| 国产成人精品福利一区二区| 粉嫩av一区二区三区四区| 精品国产免费第一区二区三| 日本高清有码中文字幕| 欧美亚洲另类国产精品| 精品人妻区二区三区蜜桃| 少妇按摩高潮呻吟av| 亚洲人妻av一区二区三区| 精品人妻一区二区三区观看| 中文字幕亚洲天堂久久| 日本一区二区三区精彩视频| 国产毛片一区二区三区二区| av毛片天堂在线观看| 一本之道高清久久久首页| 人妻鲁丝一区二区三区| 欧美日本国产老熟女视频| 国产精品国语对白av处女| 国产熟女真实乱精品视频| 日韩中文免费av一区| 一区二区三区国产精品乱码| 日本大片一区二区免费看| 日本国产精品久久一线| 99热这里66只有精品| 久久99国产综合精品女同| 欧美午夜精品福利在线观看| 亚洲二区三区四区在线| 国内精品久久大型新型| 午夜精品人妻一区二区| 亚洲精品中文字幕码专区| 一区二区亚洲成人精品| 精品熟妇人妻一区二区三区| 麻豆精品国产一区二区91| 熟妞人妻精品一区二区视频| 欧美日韩在线不卡一区| 成人一区二区三区乱码|