如何設置附加圖像中指定的窗體的背景顏色?將背景顏色設置爲色調顏色
3
A
回答
5
一種方法是直接用圖像作爲形式的BackgroundImage
。
如果你想要實現這個proceduarally(更靈活),可以使用手動OnPaintBackground
繪製表格的背景:
protected override void OnPaintBackground(PaintEventArgs e)
{
using (var brush = new LinearGradientBrush
(DisplayRectangle, Color.Black, Color.DarkGray, LinearGradientMode.Vertical))
{
e.Graphics.FillRectangle(brush, DisplayRectangle);
}
}
protected override void OnResize(EventArgs e)
{
base.OnResize(e);
Invalidate(); // Force repainting on resize
}
結果:
2
使用可以使用OnPaint event
的winform
,在那裏你可以做一些修改。檢查指定的鏈接以瞭解詳細信息。
使用LinearGradientBrush
要做到這一點是:
/*取一個線性漸變畫筆*/
LinearGradientBrush brush = new LinearGradientBrush(rect, Color.Orange, Color.Orchid, LinearGradientMode.ForwardDiagonal);
的OnPaint的
代碼段過載:
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
' Declare a variable of type Graphics named formGraphics.
' Assign the address (reference) of this forms Graphics object
' to the formGraphics variable.
Dim formGraphics As Graphics = e.Graphics
' Declare a variable of type LinearGradientBrush named gradientBrush.
' Use a LinearGradientBrush constructor to create a new LinearGradientBrush object.
' Assign the address (reference) of the new object
' to the gradientBrush variable.
Dim gradientBrush As New LinearGradientBrush(New Point(0, 0), New Point(Width, 0), Color.White, Color.DarkMagenta)
' Here are two more examples that create different gradients.
' Comment the Dim statement immediately above and uncomment one of these
' Dim statements to see how varying the two colors changes the gradient result.
' Dim gradientBrush As New LinearGradientBrush(New Point(0, 0), New Point(Width, 0), Color.Chartreuse, Color.SteelBlue)
' Dim gradientBrush As New LinearGradientBrush(New Point(0, 0), New Point(Width, 0), Color.White, Color.SteelBlue)
formGraphics.FillRectangle(gradientBrush, ClientRectangle)
End Sub
另一種方法是使用OnPaintBackground
事件和使用LinearGradientBrush
ref:MSDN
protected override void OnPaintBackground(PaintEventArgs e) {
Rectangle rc = new Rectangle(0, 0, this.ClientSize.Width, this.ClientSize.Height);
using (LinearGradientBrush brush = new LinearGradientBrush(rc, Color.Red, Color.Blue, 45F)) {
e.Graphics.FillRectangle(brush, rc);
}
參考:
How to Add a Gradient Background to a Win Form with VB.NET & VB2005
Windows Forms 2.0-Draw Beautiful Gradient Backdrops
Set Gradient/Shaded Background to Windows form using c#
檢查Resize
相關的信息在這裏: this.Invalidate()
-
Create a Gradient background on your Forms or Controls
檢查該SO也是線程.. Transparent control backgrounds on a VB.NET gradient filled form?
相關問題
- 1. $。將背景顏色設置爲當前設置的顏色
- 2. 將div的背景顏色的80%設置爲一種顏色
- 3. 將Windows窗體背景顏色設置爲混合顏色?
- 4. 將gridview背景顏色設置爲datatable的顏色?
- 5. 將背景顏色設置爲progressBar
- 6. 將背景顏色設置爲DotNet.Highcharts
- 7. 將背景設置爲漸變顏色
- 8. 將背景顏色設置爲頁面
- 9. 將背景顏色設置爲紋理
- 10. 設置背景顏色2
- 11. 設置背景顏色
- 12. Angular4背景顏色設置
- 13. 設置背景顏色[JAVA]
- 14. angular2設置背景顏色
- 15. 設置背景顏色
- 16. 設置背景顏色
- 17. 設置背景顏色:Android
- 18. Cardview設置背景顏色
- 19. 設置背景顏色toolbaritems
- 20. 設置VIM背景顏色
- 21. 設置背景顏色CMDIFrameWnd
- 22. 設置行背景顏色
- 23. 顏色爲背景色
- 24. 配置顏色/背景顏色CSS
- 25. 如何將viewcontroller的背景顏色從灰色更改爲設置的顏色?
- 26. Qt:如何設置QPushButton的背景顏色爲系統顏色?
- 27. 爲uibutton背景圖像設置漸變顏色(顏色)iphone sdk
- 28. 將動畫的背景顏色設爲不同的顏色
- 29. 背景顏色
- 30. 背景顏色
這對我來說很好,但這裏有一個問題,我面對的是我左下角和右下角有兩個按鈕。當我最大化這種形式時,兩個按鈕都放在中間。設置兩個按鈕的錨定,但是當我最大化表格 – Rupesh
時確定錨點分別設置爲「底部,左側」和「底部,右側」。 – Ani
我的錯誤。我只是在幾分鐘前扭轉了按鈕的位置,但忘了再次設置錨點。現在工作很好。非常感謝你 – Rupesh