LB_SETTABSTOPS не влияет на CheckedListBox - PullRequest
1 голос
/ 12 апреля 2010

Я пытаюсь установить табуляцию в CheckedListBox в моем приложении WinForms, но независимо от того, что я делаю, похоже, это не имеет никакого эффекта У меня есть следующее в коде для моей формы:

<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)

Но независимо от того, что я использую для значений tabStops, список форматируется со стандартными значениями ширины табуляции.

1 Ответ

0 голосов
/ 06 июля 2016
theList.CustomTabOffsets.AddRange({40, 140, 240})
theList.UseCustomTabOffsets = True

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

как сделать более 2 столбцов в ListBox с помощью C #?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...