2010-04-12 78 views
1

我想在我的WinForms應用程序的CheckedListBox中設置製表位,但不管我做什麼,它都沒有任何效果。我在我的窗體的代碼如下:LB_SETTABSTOPS似乎不會影響CheckedListBox

<DllImport("user32.dll")> _ 
Public Sub SendMessage(ByVal hWnd As IntPtr, ByVal uMsg As Int32, ByVal wParam As Int32, ByRef lParam As Int32) 
End Sub 

Public Const LB_SETTABSTOPS As Int32 = &H192 

並在窗體的加載方法,我做了以下內容,其中的thelist是我CheckedListBox:

Dim tabStops() As Integer = {40, 140, 240} 
Call SendMessage(theList.Handle, LB_SETTABSTOPS, tabStops.Length, tabStops(0)) 
theList.Refresh() 

再後來,我在一個循環中,在那裏COL1通過COL4都是字符串值的列使用:

theList.Items.Add(col1 & vbTab & col2 & vbTab & col3 & vbTab & col4) 

但無論怎樣我使用的製表位的值,列表的格式與標準寬度製表位。

+0

有點爲時已晚,但https://support.microsoft.com/en-us/kb/318600 – Slai 2016-07-06 13:04:33

回答

相關問題