Vb.net 如何在.NET中创建水平列表框

Vb.net 如何在.NET中创建水平列表框,vb.net,winforms,Vb.net,Winforms,我正在将VB6应用程序移植到.NET,其中一个需要的UI元素是水平列表框。我似乎不知道如何在.NET中复制它 这可以用基本winforms完成吗 你将如何复制这一点 示例: 复制上述图像的VB6代码: Private Sub Form_Load() lst_horizontal(1).FontSize = 6 Dim iMaxChoices As Integer iMaxChoices = 10 For i = 1 To iMaxChoices

我正在将VB6应用程序移植到.NET,其中一个需要的UI元素是水平列表框。我似乎不知道如何在.NET中复制它

  • 这可以用基本winforms完成吗

  • 你将如何复制这一点

  • 示例:

    复制上述图像的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 words:我可以想出如何在Silverlight/XAML中复制它,但这个应用程序不能以那种方式完成

    对于
    View
    属性,我建议使用
    ListView
    LargIcon
    ,这可能是一个很好的现成解决方案


    祝你好运

    Winforms也支持这一点。将MultiColumn属性设置为True,将ColumnWidth属性设置为15。制作:


    这在WPF中很容易完成,但在WinForms中,您可能需要自己编写控件…@Hans Passant您可以知道原因吗?@Hans Passant没有办法,我已经看到了编辑,但在WinForms中不适用:
    LB.MultiColumn=True:LB.ColumnWidth=15:LB.Items.Add(“abc”):LB.Items.Add(“def”)
    请停止向我的帖子发送垃圾邮件。点击提问按钮。哦,谢谢你的好意(…),如果我需要提问,为什么(两行)假设的解决方案在我的情况下不起作用。。。最好不用了,谢谢你,我再也不打扰你了。