2011-01-21 5 views
6

Я работаю над портированием приложения VB6 в .NET, и один из нужных элементов пользовательского интерфейса является горизонтальным списком. Я не могу понять, как реплицировать это в .NET.Как сделать горизонтальный список в .NET.

  1. Можно ли это сделать с помощью основных winforms?

  2. Как бы вы это воспроизвести?

Пример:
alt text

В VB6 код, который будет копировать изображение выше:

Private Sub Form_Load() 
    lst_horizontal(1).FontSize = 6 
    Dim iMaxChoices As Integer 
    iMaxChoices = 10 
    For i = 1 To iMaxChoices 
     lst_horizontal(1).AddItem (" " + CStr(i)) 
    Next i 
End Sub 

Private Sub lst_horizontal_Click(Index As Integer) 
    Dim iMaxChoices As Integer 
    iMaxChoices = 10 

    For i = 0 To iMaxChoices - 1 

     If lst_horizontal(1).Selected(i) Then 
      Debug.Print ("Item " + CStr(i + 1) + " selected") 
     End If 

    Next i 

Weasel слова: Я могу понять, как повторить это в Silverlight/XAML, но это приложение не может быть сделано таким образом.

+1

насчет WPF? – Matt

+0

Это можно сделать легко в WPF, но в WinForms вам, вероятно, придется запрограммировать элемент управления самостоятельно ... –

ответ

2

Это поддерживается также в Winforms. Установите свойство Multicolumn Истина, свойство ColumnWidth, скажем, 15 Producing:

enter image description here

+0

+1, Новая информация для меня, спасибо. – Homam

+0

Я следовал за ступенями, но не работал для меня! – ElektroStudios

+0

@ Ханс Пассант, вы могли бы знать причину почему? – ElektroStudios

4

Я предлагаю ListView с LargIcon за View. Возможно, это будет хорошее и готовое решение для вашего дела.

alt text

Успехов!

+1

+1 приятный обход –

Смежные вопросы