1
如何在沒有水平網格線的情況下在Listview中只顯示垂直網格線? 像在taskmanager中的例子? 有沒有辦法與GDI做到這一點? 我不知道我怎麼能意識到,每一個有用的評論贊賞:)VB.Net/C# - Listview Gridlines
如何在沒有水平網格線的情況下在Listview中只顯示垂直網格線? 像在taskmanager中的例子? 有沒有辦法與GDI做到這一點? 我不知道我怎麼能意識到,每一個有用的評論贊賞:)VB.Net/C# - Listview Gridlines
當你和我創建控件時,我們通常重載onPaint方法,並在那裏做所有的繪圖。但是,大多數在工具箱中找到的默認控件都會在特定消息中重繪某些部分,這使得難以繪製它們,因爲您不知道控件何時重繪。然而,可以這樣做,並且找出何時繪製的唯一方法是通過跟蹤和錯誤。
如果幸運的話,足以在一些事件中重新繪製,但大部分情況下,重載WndProc方法是最好的選擇。
我目前在Windows 8計算機上,網格線根本沒有繪製,所以它很難寫一個很好的例子,如何刪除水平的,但我只是畫在他們身上與背景顏色,然後繪製垂直的。下面的代碼繪製水平網格線:
Public Class MyListView
Inherits ListView
Private Sub DrawLines() Handles Me.MouseUp
Dim G = CreateGraphics()
Dim x As Integer
For i = 0 To Columns.Count - 1
x += Columns(i).Width
G.DrawLine(New Pen(Color.FromArgb(230, 230, 230)), x, 0, x, Height)
Next
End Sub
Protected Overrides Sub WndProc(ByRef m As Message)
MyBase.WndProc(m) ' To prevent something from drawing you can simply not do this call at a specific message
End Sub
End Class
間諜++也可以幫助找到合適的信息
嘿,感謝您的回覆=) 這是一個很好的開始了,但有一些東西有點奇怪。 這將是一件好事,如果線不僅出現在單擊內部ListView之後,就像它現在是這樣,不是,我的意思是,直接在創建事件=) 此外,我點擊Listview內部和繪製線,然後我重新調整柱頭標題,線條消失了。 但是在我的Windows 7系統中,目前看起來像這樣。 [1] [1]:http://i.stack.imgur.com/hSGli.png – nexno