在VB.NET中为ListBox控件绘制边框

在VB.NET中为ListBox控件绘制边框,vb.net,events,listbox,paint,Vb.net,Events,Listbox,Paint,我使用此代码为控件设置边框: ControlPaint.DrawBorder(e.Graphics, Panel1.ClientRectangle, Color.Silver, ButtonBorderStyle.Solid) 我在controlsPaint event中编写了这段代码,但是ListBox控件没有任何绘制事件 有人能解决这个问题吗?不幸的是,列表框没有绘制事件,要将边框绘制到列表框,您可以将列表框停靠在容器中,然后为容器制作边框 例如: 您可以将列表框停靠在面板

我使用此代码为控件设置边框:

        ControlPaint.DrawBorder(e.Graphics, Panel1.ClientRectangle, Color.Silver, ButtonBorderStyle.Solid)
我在controlsPaint event中编写了这段代码,但是ListBox控件没有任何绘制事件


有人能解决这个问题吗?

不幸的是,列表框没有绘制事件,要将边框绘制到列表框,您可以将列表框停靠在容器中,然后为容器制作边框

例如: 您可以将列表框停靠在面板中,将面板的填充设置为2,2,2,2 将listBox的边框样式设置为“无”。
然后为面板绘制边框或设置背景色。

列表框是一个非常古老的控件。您可以通过从中派生自定义类来使用UserPaint,使用
SetStyle(UserPaint,True)
然后使用
Protected Overrides子OnPaint(e As PaintEventArgs)
来绘制您的内容。然而,这与项目的图纸极为混乱。请考虑使用<代码> DATGRIDVIEW 。谢谢,但是DataGridView有他自己的问题!谢谢。我的列表框现在有边框了!(: