也容易,如果是黑白三個顏色加上相同的漸變量,彩色的是起始顏色的三個分量與終止顏色的對應三個分量的差值,再除于相同的份數,就得出三原色各自的步進量。
清河網站制作公司哪家好,找創新互聯建站!從網頁設計、網站建設、微信開發、APP開發、成都響應式網站建設公司等網站項目制作,到程序開發,運營維護。創新互聯建站成立于2013年到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選創新互聯建站。
窗體上放個圖片框試試下面代碼:
Private?Sub?PictureBox1_Paint(ByVal?sender?As?Object,?ByVal?e?As?System.Windows.Forms.PaintEventArgs)?Handles?PictureBox1.Paint
Dim?startColor?As?Color?=?Color.Red
Dim?endColor?As?Color?=?Color.Green
Dim?s?As?String?=?"vb.net?如何使文字能漸變顏色,就是顏色慢慢變淡然后在慢慢恢復?"
Dim?Steps?As?Integer?=?s.Length?\?2
Dim?StepR?As?Integer?=?(CInt(endColor.R)?-?startColor.R)?\?Steps
Dim?StepG?As?Integer?=?(CInt(endColor.G)?-?startColor.G)?\?Steps
Dim?StepB?As?Integer?=?(CInt(endColor.B)?-?startColor.B)?\?Steps
Dim?R?As?Integer?=?startColor.R
Dim?G?As?Integer?=?startColor.G
Dim?B?As?Integer?=?startColor.B
Dim?drawFont?As?New?System.Drawing.Font("Arial",?16)
Dim?X?As?Integer?=?50
For?i?As?Integer?=?1?To?Steps
Dim?drawBrush?As?New?SolidBrush(Color.FromArgb(R,?G,?B))
e.Graphics.DrawString(s.Substring(i?-?1,?1),?drawFont,?drawBrush,?X,?50.0)
X?+=?18
R?+=?StepR
G?+=?StepG
B?+=?StepB
Next
For?i?As?Integer?=?1?To?Steps
Dim?drawBrush?As?New?SolidBrush(Color.FromArgb(R,?G,?B))
e.Graphics.DrawString(s.Substring(i?+?Steps?-?1,?1),?drawFont,?drawBrush,?X,?50.0)
X?+=?18
R?-=?StepR
G?-=?StepG
B?-=?StepB
Next
End Sub
復雜的不會,來點兒簡單的,借用在listbox里按下鼠標時再移動,會高亮顯示選擇行,并且會隨鼠標移動而變化的這一特點改進的,不足之處是在listbox里,此時處于鼠標左鍵在按下狀態。
Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Public Const MOUSEEVENTF_LEFTDOWN = H2 '模擬鼠標左鍵按下
Private Sub ListBox1_MouseMove(sender As Object, e As MouseEventArgs) Handles ListBox1.MouseMove
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
End Sub
首先,設定Timer控件的Enabled屬性為True,Interval屬性為1000(單位為毫秒)。
然后,添加程序代碼如下:
private void timer1_Tick(object sender, EventArgs e)
{
if (this.label1.BackColor == Color.Red) //判斷當前背景色是否為紅色
this.label1.BackColor = Color.Blue; //如果是則變為藍色
else //如果當前背景色不是紅色
this.label1.BackColor = Color.Red; //將背景色變為紅色
}
我是新手,僅談談我的理解,按鈕的MouseEnter與MouseLeave事件就可以解決,需要這么復雜嗎?
比如當鼠標移入按鈕(Button1)時,按鈕的字體變色(假如變為紅色)可以寫為(MouseEnter事件):
Button1.Forecolor=color.red;
當鼠標移出,字體顏色變回去(假如本來是黃色)(MouseLeave事件):
Button1.Forecolor=color.yellow;
如要做高級的動態變化,估計添加timer進來,寫Timer的Tick事件,比如Tmier每Tick一次,按鈕的紅色就加5,同時設置按鈕的Tick間距。
應該是隔一行換顏色。
Me.DataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.Red
使用該代碼即可。
本文標題:vb.net交叉漸變色 vb漸變色代碼
網頁網址:http://m.kartarina.com/article46/dodsoeg.html
成都網站建設公司_創新互聯,為您提供網站改版、網站內鏈、品牌網站制作、網站策劃、ChatGPT、云服務器
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯