以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]Panel 边框颜色  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=120137)

--  作者:hunanwl
--  发布时间:2018/6/7 20:36:00
--  [求助]Panel 边框颜色
Panel 边框颜色  如何设定
[此贴子已经被作者于2018/6/7 20:36:29编辑过]

--  作者:有点甜
--  发布时间:2018/6/7 20:48:00
--  

全局代码

 

Public Sub panel_Paint(sender As Object, e As windows.forms.PaintEventArgs)
 windows.forms.ControlPaint.DrawBorder(e.Graphics, sender.ClientRectangle, Color.White, 10, windows.forms.ButtonBorderStyle.Solid, Color.White, _
  10, windows.forms.ButtonBorderStyle.Solid, Color.DimGray, 10, windows.forms.ButtonBorderStyle.Solid, Color.DimGray, _
  10, windows.forms.ButtonBorderStyle.Solid)

End Sub

 

 

绑定事件

 

Dim p As windows.forms.panel = e.form.controls("panel1").basecontrol
addhandler p.paint, addressof panel_paint
p.refresh


--  作者:xxfoxtable
--  发布时间:2023/10/9 9:59:00
--  
 
图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
放全局变量里,报错
--  作者:有点蓝
--  发布时间:2023/10/9 10:12:00
--  
windows.forms
改为
system.windows.forms

--  作者:xxfoxtable
--  发布时间:2023/10/9 10:58:00
--  

     AddHandler p.paint, AddressOf panel_paint
    p.refresh

能把边框加粗吗?


--  作者:有点蓝
--  发布时间:2023/10/9 11:19:00
--  
https://learn.microsoft.com/zh-cn/dotnet/api/system.windows.forms.controlpaint.drawborder?view=windowsdesktop-7.0#system-windows-forms-controlpaint-drawborder(system-drawing-graphics-system-drawing-rectangle-system-drawing-color-system-int32-system-windows-forms-buttonborderstyle-system-drawing-color-system-int32-system-windows-forms-buttonborderstyle-system-drawing-color-system-int32-system-windows-forms-buttonborderstyle-system-drawing-color-system-int32-system-windows-forms-buttonborderstyle)
--  作者:xxfoxtable
--  发布时间:2023/10/9 13:54:00
--  
 对小白来说,看这个难点大呀
--  作者:有点蓝
--  发布时间:2023/10/9 14:10:00
--  
把2楼里的数字改改呗
--  作者:xxfoxtable
--  发布时间:2023/10/9 18:45:00
--  
Public Sub panel_Paint(sender As Object, e As system.windows.forms.PaintEventArgs) \'给panel加边框颜色
    system.windows.forms.ControlPaint.DrawBorder(e.Graphics, sender.ClientRectangle, Color.blue, 20, system.windows.forms.ButtonBorderStyle.Solid, Color.blue, _
    20, system.windows.forms.ButtonBorderStyle.Solid, Color.blue, 20, system.windows.forms.ButtonBorderStyle.Solid, Color.blue, _
    20, system.windows.forms.ButtonBorderStyle.Solid)
End Sub

    If TypeOf e.sender Is WinForm.PictureBox Then
        Dim p As system.windows.forms.panel = Forms("菜单").Controls(controlname).basecontrol
        AddHandler p.paint, AddressOf panel_paint
        p.refresh
    End If
老师,我是这样写的,没有效果啊

--  作者:有点蓝
--  发布时间:2023/10/9 20:34:00
--  
测试没有问题。应该是图片框把整个panel挡住了,看不到有边框