2014-09-04 95 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