BHA*_*als -1 vb.net border colors panel
我在堆栈溢出中搜索了类似“如何更改面板边框颜色 vb.net”的内容,但没有找到任何结果,所以我删除了 vb.net 并像这样输入,我找到了结果,但它仅适用于 C#,我不这样做C# 好多了,也许我认为我可以翻译,但我只是认为翻译不会100% 准确,所以,这就是我提出这个问题的原因。请帮助我如何更改VB.Net中面板的边框颜色我已在属性中设置了 BorderStyle FixSingle,但仍然无法更改面板的边框颜色。请帮助并告诉我如何更改面板的边框颜色,否则我们无法从属性中做到这一点,我们可以通过编码来做到这一点,那么至少请给我代码。
正如您已经提到的,这个问题有一个C# 版本,有多个答案。
以下是答案的简短摘要:
可能性1
最简单且无代码的方法如下:
BackColor将的设置Panel1为所需的边框颜色Padding将的设置Panel1为所需的边框厚度(例如2;2;2;2)Panel2insidePanel1并将Dock-property 设置为FillBackColor的设为Panel2所需的背景颜色注意:不能使用透明背景。
可能性2
在事件处理程序内绘制一个边框Paint。
(从这个答案
翻译成VB.NET 。)
Private Sub Panel1_Paint(sender As Object, e As PaintEventArgs) Handles Panel1.Paint
ControlPaint.DrawBorder(e.Graphics, Panel1.ClientRectangle, Color.DarkBlue, ButtonBorderStyle.Solid)
End Sub
Run Code Online (Sandbox Code Playgroud)
可能性3
创建您自己的Panel类并在客户区绘制边框。
(从这个答案
翻译成VB.NET 。)
<System.ComponentModel.DesignerCategory("Code")>
Public Class MyPanel
Inherits Panel
Public Sub New()
SetStyle(ControlStyles.UserPaint Or ControlStyles.ResizeRedraw Or ControlStyles.DoubleBuffer Or ControlStyles.AllPaintingInWmPaint, True)
End Sub
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
Using brush As SolidBrush = New SolidBrush(BackColor)
e.Graphics.FillRectangle(brush, ClientRectangle)
End Using
e.Graphics.DrawRectangle(Pens.Yellow, 0, 0, ClientSize.Width - 1, ClientSize.Height - 1)
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7234 次 |
| 最近记录: |