成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

關(guān)于vbnet時(shí)鐘的信息

如何用VB制作個(gè)多功能時(shí)鐘

1、

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了全州免費(fèi)建站歡迎大家使用!

顯示時(shí)間

2、語音報(bào)時(shí)

3、定時(shí)報(bào)警

4、定時(shí)關(guān)機(jī)

同時(shí)我還將在文章中穿插介紹VB提供的繪圖方法以及一些實(shí)用技巧,下面我們就開始吧。

閱讀導(dǎo)航

一、如何顯示時(shí)間

(1)

VB時(shí)間日期函數(shù)介紹

(2)

建立實(shí)例

(3)

VB繪圖方法介紹

1、Line方法

2、Circle方法

3、Pset方法

4、三角函數(shù)

二、實(shí)現(xiàn)語音報(bào)時(shí)

(1)

使用MCI控件

(2)

相關(guān)API函數(shù)介紹

(1)

GetLocalTime()

(2)

SYSTEMTIME結(jié)構(gòu)

(3)

mciExecute()

(4)

mciSendString()

三、實(shí)現(xiàn)定時(shí)關(guān)機(jī)和定時(shí)報(bào)警

怎樣用vb.net作一個(gè)指針轉(zhuǎn)動的鐘表?(可設(shè)置時(shí)間日期,有鬧鈴功能)

你需要會用GDI+,也就是那個(gè)System.Drawing命名空間下的類.

給你說個(gè)思路,設(shè)Timer,到時(shí)間就用Form.Invalidate()函數(shù)重畫窗口,在重畫窗口的Form_Paint事件下面編寫代碼得到當(dāng)前時(shí)間,再根據(jù)當(dāng)前時(shí)間用GDI+畫時(shí)鐘.

怎么在VB.net中實(shí)時(shí)顯示時(shí)間

定時(shí)器中處理

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

Timer1.Interval?=?10?'10毫秒刷新一次

Timer1.Start()?'開啟定時(shí)器

End?Sub

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

Label1.Text?=?Now

End?Sub

vbnet中怎樣把時(shí)間設(shè)為24時(shí)制

將時(shí)間轉(zhuǎn)換為指定的字符串格式用:Now.ToString("yyyyMMddHHmmss")就Ok了。

例如:年份用小寫yyyy(大寫不識別),大寫MM識別為月份,小寫mm識別為分鐘,日期天為大寫DD(小寫不識別),

小時(shí)大寫HH識別為24小時(shí)制,小寫hh識別為12小時(shí)制,秒用小寫ss(大寫不識別)

補(bǔ)充:Visual Basic.NET是基于微軟.NET Framework之上的面向?qū)ο蟮木幊陶Z言。

其在調(diào)試時(shí)是以解釋型語言方式運(yùn)作,而輸出為EXE程序是是以編譯型語言方式運(yùn)作。

可以看作是Visual Basic在.Net Framework平臺上的升級版本,增強(qiáng)了對面向?qū)ο蟮闹С帧4蠖嗟腣B.Net程序員使用Visual Studio .Net作為IDE(integrated development environment).SharpDevelop是另一種可用的開源的IDE。

VB.Net需要在.Net Framework平臺上才能執(zhí)行。

vb.net開發(fā)簡單的時(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

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

另外還需要提一下的是畫時(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對象的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對象

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()

分享標(biāo)題:關(guān)于vbnet時(shí)鐘的信息
轉(zhuǎn)載源于:http://jinyejixie.com/article24/hpccce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、企業(yè)網(wǎng)站制作、虛擬主機(jī)、關(guān)鍵詞優(yōu)化靜態(tài)網(wǎng)站

廣告

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

成都定制網(wǎng)站建設(shè)
罗定市| 沙田区| 青田县| 泸定县| 大渡口区| 龙陵县| 山阳县| 玛纳斯县| 大英县| 钟祥市| 林西县| 贵港市| 宣化县| 上蔡县| 蓝田县| 金坛市| 博白县| 沙田区| 辽阳市| 会东县| 延川县| 昭苏县| 太保市| 忻州市| 曲周县| 江源县| 文安县| 绍兴县| 南安市| 永丰县| 永康市| 仙游县| 霍林郭勒市| 古丈县| 景德镇市| 阜阳市| 灵璧县| 神池县| 称多县| 邵阳市| 西盟|