现在的位置: 首页 > 综合 > 正文

VB.NET颜色的陷阱。

2011年09月22日 ⁄ 综合 ⁄ 共 1102字 ⁄ 字号 评论关闭

(粤版/香港文字)

由于要為嚟緊嘅2559科程做准俻工夫;就無意中發现咗一點怪象。又幾怪?就喺换Form嘅BackColor/ForeColor同Button1嘅BackColor/ForeColor程序先後嘞;原來先後會有唔同嘅效果嗰咊~ 小心,小心也。。。

如果用以下嘅代碼,换Form嘅背景于字軆颜色(Button1)同换Button1嘅背景于字軆颜色(Button2)。

Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles Button1.Click


    
' 更换Form1背景与字軆颜色。

    Me.BackColor = System.Drawing.Color.SeaGreen

    Me.ForeColor 
= System.Drawing.Color.Snow


End Sub



Private Sub Button2_Click(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles Button2.Click


    
' 更换Button1背景与字軆颜色。

    Button1.BackColor = System.Drawing.Color.Salmon

    Button1.ForeColor 
= System.Drawing.Color.Yellow


End Sub


當按Button1後,我哋就睇到整個Form1嘅背景都變咗SeaGreen色;而字軆就變咗Snow色(包括Button1同Button2)。如圖一。


圖一。



然後再按Button2,我哋就睇到整個Button1嘅背景都變咗Salmon色;而字軆就變咗Yellow色(包括Button1)。如圖二。


圖二。

你一定講冇乜唔妥吖。。。如常達到所愿嘅效果。但。。。但喺,如果我哋只按Button2而唔按Button1;就會有圖三嘅效果嘞。


圖三。



問題在于點解轉换Form1嘅背景于字軆颜色會搞到連Button1嘅颜色都一齐變埋吖?哈哈。。。大概你冇察覺到呢。。。個關键就係喺嗰Button1嘅Properties(Background)嘞(圖四)!一般人都唔會去换,只會用VS.NET默認設定值數;亦即喺用“Control”色;同Form1嘅Background默認設定值數完全一样。一旦你更换過VS.NET嘅默認設定值數就冇事嘞。

 

圖四。

抱歉!评论已关闭.