VB.NET里用GDI+畫指示燈其實(shí)很簡單,稍微查一點(diǎn)資料就能找到gdi+語句的用法的。用GDI+可以畫很多種圖形,圓形半圓形自然不在話下。如果有很多指示燈在一起的話,改起來也很方便。

站在用戶的角度思考問題,與客戶深入溝通,找到惠東網(wǎng)站設(shè)計(jì)與惠東網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站設(shè)計(jì)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋惠東地區(qū)。
當(dāng)然如果嫌GDI+麻煩可以用label控件,把a(bǔ)utosize關(guān)掉,將尺寸調(diào)小一點(diǎn),然后利用backcolor調(diào)背景顏色作為指示燈,只不過是方形的。
如果指示燈很多而且頻繁換顏色的話建議用GDI+,因?yàn)镚DI+效率高一些
下面這個(gè)希望可以幫到你~交通燈
實(shí)例說明在本實(shí)例中,我們將制作一個(gè)具有交通燈效果的應(yīng)用程序。程序運(yùn)行后,交通燈不斷地變化,可以通過按鈕運(yùn)行或停止程序。程序運(yùn)行結(jié)果如圖88-1所示。技術(shù)要點(diǎn)l 不斷變換圖片l 不斷更改時(shí)間間隔 type="text/javascript" type="text/javascript" src=" "
實(shí)現(xiàn)過程■ 新建項(xiàng)目打開Visual Studio.NET,選擇"新建項(xiàng)目",在項(xiàng)目類型窗口中選擇"Visual Basic項(xiàng)目",在模板窗口中選擇"Windows應(yīng)用程序",在名稱域中輸入"Traffic",然后選擇保存路徑。單擊"確認(rèn)"。■ 添加控件向當(dāng)前窗體添加一個(gè)Timer控件,用于控制交通燈變換的時(shí)間;三個(gè)Picture控件,分別裝入相應(yīng)的圖片;一個(gè)Button按鈕,用于控制交通燈。屬性保持默認(rèn)值。■ 添加代碼Dim vv As BooleanDim updirec As BooleanPrivate Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Clickvv = Timer1.Enabledvv = Not vvTimer1.Enabled = vvIf vv ThenCommand1.Text = "開 始"ElseCommand1.Text = "停 止"End IfEnd SubPrivate Sub Timer1_Tick(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Timer1.TickStatic i As ShortSelect Case iCase 0Timer1.Interval = 3000picicon0.Visible = Truepicicon1.Visible = Falsepicicon2.Visible = Falsei = i + 1updirec = FalseCase 1Timer1.Interval = 1000picicon0.Visible = Falsepicicon1.Visible = Truepicicon2.Visible = False'Me.Icon = picicon(i).ImageIf updirec Theni = i - 1Elsei = i + 1End IfCase 2Timer1.Interval = 3000picicon0.Visible = Falsepicicon1.Visible = Falsepicicon2.Visible = Truei = i - 1updirec = TrueEnd SelectEnd Sub■ 運(yùn)行程序單擊菜單"調(diào)試|啟動(dòng)"或單擊 圖標(biāo)運(yùn)行程序。
首先,你已經(jīng)完成的步驟是:
1.新建一個(gè)用戶控件[注意,用戶控件(UserControl)不是自定義控件(CustomControl)]
2.給用戶控件起個(gè)名字(我在此處起名叫 RadioList)
3.在用戶控件上畫一個(gè) GroupBox,命名為 RadioGroup,
并將其 Dock 屬性設(shè)置為 Fill
然后,你需要做的是動(dòng)態(tài)增減控件。
如果你以前用過 VB 6,你可能會(huì)想到控件數(shù)組,
但在此處,你可以直接增刪控件。
具體實(shí)現(xiàn)如下:
4.在 GroupBox 里畫一個(gè) FlowLayoutPanel,命名為 RadioPanel,
將其 AutoScroll 屬性設(shè)置為 True,即自動(dòng)顯示滾動(dòng)條,
并設(shè)置其 FlowDirection 屬性(例如設(shè)置為 TopDown)
這樣就省去了手動(dòng)調(diào)整 RadioButton 位置的麻煩
5.實(shí)現(xiàn)選項(xiàng)的動(dòng)態(tài)增減(以下只是我的思路,你可以發(fā)揮一下)
(十分簡潔,注釋除外):
''' summary
''' 創(chuàng)建一個(gè)新的 RadioButton。
''' /summary
Private Function CreateRadio() As RadioButton
Dim NewRadio As New RadioButton
components.Add(NewRadio)
'components 字段由控件設(shè)計(jì)器自動(dòng)創(chuàng)建,
'此代碼目的是使控件在銷毀(Dispose)時(shí)能自動(dòng)銷毀 RadioButton
'詳情參見 RadioList.Designer.vb
NewRadio.Parent = RadioPanel
'設(shè)置容器
AddHandler NewRadio.CheckedChanged, AddressOf RadioButtons_CheckedChanged
'設(shè)置事件處理程序
Return NewRadio
End Function
''' summary
''' 移除已存在的 RadioButton。
''' /summary
Private Sub RemoveRadio(ByVal dest As RadioButton)
components.Remove(dest)
dest.Dispose()
End Sub
'無中生有的 RadioButton 的事件處理程序
Private Sub RadioButtons_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
'在此處設(shè)置選中項(xiàng)的屬性,通過 sender 來確定不同的 OptionButton
'你可以通過將 OptionButton 放在一個(gè)列表,
'如 List(Of OptionButton) 中來像數(shù)組一樣維護(hù)選項(xiàng)的次序
'注意,此處需要判斷 sender 的 Checked 屬性是否為 True
'因?yàn)?Changed 是“改變”,而不是“選中”
'例如:
If DirectCast(sender, RadioButton).Checked Then
SelectedIndex = ...
End If
End Sub
SCON = 0x50; //REN=1允許串行接受狀態(tài),串口工作模式1 TMOD|= 0x20; 試下這個(gè)程序,PC發(fā)什么,它就回送什么,收到數(shù)據(jù),點(diǎn)亮P2.0的LED。
分享名稱:vb.net燈控件,vb 控件
文章分享:http://chinadenli.net/article22/hcpocc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、微信公眾號(hào)、網(wǎng)站策劃、定制開發(fā)、服務(wù)器托管、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
移動(dòng)網(wǎng)站建設(shè)知識(shí)