2014-09-04 41 views
1

我用这个代码来设置边框的控件:绘制边框的ListBox控件在VB.NET

 ControlPaint.DrawBorder(e.Graphics, Panel1.ClientRectangle, Color.Silver, ButtonBorderStyle.Solid) 

我写在控制Paint事件这个代码,但没有对列表框控件的任何Paint事件

任何人都可以解决这个问题吗?

+0

ListBox是一个非常古老的控制。你可以用UserPaint通过派生一个自定义类,使用'SetStyle(UserPaint,True)',然后使用'Protected Overrides Sub OnPaint(e As PaintEventArgs)'来绘制你的东西。然而,这与绘制物品时非常混乱。考虑使用'DatagridView'来代替。 – Jens 2014-09-04 07:31:24

+0

谢谢,但DataGridView有他自己的问题! – 2014-09-07 12:01:27

回答

3

不幸的是没有listBox的绘画事件,为了绘制边框到列表框你可以在容器中放置listBox然后为容器做边框。

例如: 可以停靠列表框在面板中,面板填充设置为2,2,2,2 设置列表框中没有边框的样式。 然后为面板绘制边框或为其设置背景色。

+0

非常感谢。我的列表框现在有一个边框! (: – 2014-09-07 12:03:59