重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
這個框線顏色是由Windows系統(tǒng)的桌面主題決定的(意思就是說只要是在windows系統(tǒng)中開發(fā)的軟件,其中使用到的文本框或按鈕控件等等其樣式就受系統(tǒng)控制了,以保證其在各種不同軟件中有相同的呈現(xiàn),否則的話會損害用戶體驗)。軟件中能自主改變的顏色只有背景色。當(dāng)然,你也可以通過API函數(shù)來改變框線顏色,但這種改變是全局性的,就是說一旦改了,那么在其他軟件中(即使不是VB開發(fā)的軟件)出現(xiàn)的同類控件也會跟著改變。建議你從背景色入手,通過其對比度來間接實現(xiàn)框線的變化。
創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),大英企業(yè)網(wǎng)站建設(shè),大英品牌網(wǎng)站建設(shè),網(wǎng)站定制,大英網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,大英網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
要么重寫這個控件的 OnPaint 事件,判斷 BorderStyle 屬性為 FixedSingle 的時候自繪其他顏色。
要么不重寫,把 BorderStyle 設(shè)為 None,直接在這個控件的 Paint 事件里自繪邊框,例如:
Private?Sub?Label1_Paint(sender?As?Object,?e?As?PaintEventArgs)?Handles?Label1.Paint
e.Graphics.DrawRectangle(Pens.Red,?New?Rectangle(Label1.DisplayRectangle.X,?Label1.DisplayRectangle.Y,?Label1.DisplayRectangle.Width?-?1,?Label1.DisplayRectangle.Height?-?1))
End?Sub
運(yùn)行效果:
您好,這種方法可以通過按鈕的MouseDown和MouseUp事件來實現(xiàn),比如說,當(dāng)單擊按鈕RedColor(RedColor為這個按鈕的Name屬性的屬性值)的時候,要使按鈕的顏色變成紅色,這可以在代碼視圖中的控件選擇下拉列表中選擇RedColor這個控件,然后在右邊的事件下拉列表中選擇MouseDown事件(當(dāng)按下鼠標(biāo)時發(fā)生),這時,Visual Studio會自動生成如下代碼:
Private Sub RedColor_MouseDown(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles RedColor.MouseDown
End Sub
接下來就在當(dāng)前生成的代碼中寫入如下代碼:
RedColor.BackColor = Color.FromArgb(255, 0, 0)
這句代碼的作用是利用Color下的FromArgb方法來設(shè)置RGB顏色參數(shù),在RGB顏色系統(tǒng)中,R代表紅色,G代表綠色,B代表藍(lán)色,根據(jù)這三種顏色的不同程度的調(diào)和,就會得到不同的顏色,如果您要得到深色的天藍(lán)色,則可以設(shè)置FromArgb(0, 191, 255),這個顏色轉(zhuǎn)換為HTML中的RGB顏色就是#00BFFF。
當(dāng)然顏色還原最好是寫在MouseUp事件里面,這樣就不必在單擊其他按鈕時來還原上一次按下的按鈕的顏色,在這里,為了方便描述,我們假設(shè)按鈕的默認(rèn)顏色為白色,也就是FromArgb方法設(shè)置為FromArgb(255, 255, 255)的時候,所標(biāo)示的顏色就是白色
所以選擇了RedColor按鈕的MouseUp事件后,Visual Studio會自動生成下列代碼:
Private Sub RedColor_MouseUp(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles RedColor.MouseUp
End Sub
MouseUp的含義是當(dāng)鼠標(biāo)彈起時發(fā)生,所以在這個事件就可以設(shè)置按鈕顏色的還原,即添加下列代碼來實現(xiàn):
RedColor.BackColor = Color.FromArgb(255, 255, 255)
當(dāng)然,這就編寫好了一個按鈕按下時變色,回彈時還原的功能,至于另外一個按鈕的功能,這與這個按鈕的功能一樣,只是代碼有一些細(xì)微的差別而已,假設(shè)這個按鈕的Name屬性的屬性值為BlueColor,相應(yīng)的代碼對應(yīng)如下:
Private Sub BlueColor_MouseDown(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BlueColor.MouseDown
BlueColor.BackColor = Color.FromArgb(0, 0, 255) '藍(lán)色的FromArgb
End Sub
Private Sub BlueColor_MouseDown(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BlueColor.MouseDown
BlueColor.BackColor = Color.FromArgb(255, 255, 255)
End Sub
另外,為了避免代碼的冗余,可以將RedColor和BlueColor的MouseUp事件進(jìn)行合并,這合并后的代碼如下:
Private Sub BlueColor_MouseDown(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BlueColor.MouseDown, RedColor.MouseUp
BlueColor.BackColor = Color.FromArgb(255, 255, 255)
RedColor.BackColor = Color.FromArgb(255, 255, 255)
End Sub
當(dāng)然,這個你只要分析了控件事件代碼的基本結(jié)構(gòu),一切就一目了然了,控件事件代碼的基本結(jié)構(gòu)如下:
[作用域] Sub 事件名([參數(shù)列表]) Handles 控件事件1 [, 控件事件2, 控件事件3...]
[事件代碼區(qū)域]
End Sub
如果此回答對您有幫助,別忘了采納哦,如果沒有解決您的問題,您可以在互聯(lián)網(wǎng)上尋找更多關(guān)于此問題的解決方案,謝謝!