如何设置附加图像中指定的窗体的背景颜色?将背景颜色设置为色调颜色
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