列表框格式化VB

时间:2014-12-08 14:58:53

标签: vb.net visual-studio-2012 listbox formatting format

我想格式化我的列表框,以便输出变成这样的。

http://prntscr.com/5ejl4g

(我没有足够的重复点来发布图片)

这是方法,而不是主要形式:

Public Function GetSeatInfoStrings(ByVal choice As DisplayOptions,
                                      ByRef strSeatInfoStrings As String()) As Integer
    Dim count As Integer = GetNumOfSeats(choice)

    If (count <= 0) Then
        Return 0
    End If

    strSeatInfoStrings = New String(count - 1) {}

    Dim StrReservation As String = ""

    strSeatInfoStrings = New String(count - 1) {}

    Dim i As Integer = 0 'counter for return array 

    'is the element corresponding with the index empty 
    For index As Integer = 0 To m_totNumOfSeats - 1

        Dim strName As String = ""
        Dim reserved As Boolean = Not String.IsNullOrEmpty(m_nameList(index))

        'if the criteria below are not met, skip to add info in the array
        If (choice = DisplayOptions.AllSeats) Or
            (reserved And choice = DisplayOptions.ReservedSeats) Or
            ((Not reserved) And (choice = DisplayOptions.VacantSeats)) Then

            If (reserved) Then
                StrReservation = "Reserved"
                strName = m_nameList(index)
            Else
                StrReservation = "Vacant"
                strName = "..........."
            End If

            strSeatInfoStrings(i) = String.Format("{0,4}  {1,-8} {2, -20} {3,10:f2}",
                                                  index + 1, StrReservation, strName, m_priceList(index))
            i += 1
        End If

    Next
    Return count

End Function

我不知道如何将列表框格式化为主窗体中的strSeatInfoStrings(i)。 我的lisbox

这就是我所做的

Private Sub UpdateGUI()
    'Clear the listbox and make it ready for new data.
    ReservationList.Items.Clear()

    'size of array is determined in the callee method
    Dim seatInfoStrings As String() = Nothing
    Dim calcOption As DisplayOptions = DirectCast(cmbDisplayOptions.SelectedIndex, DisplayOptions)

    Dim count As Integer = m_seatMngr.GetSeatInfoStrings(calcOption, seatInfoStrings)

    If count > 0 Then
        ReservationList.Items.AddRange(seatInfoStrings)
    Else
        ReservationList.Items.Add("Nothing to display!")
    End If

1 个答案:

答案 0 :(得分:0)

发现错误!我忘了在IntializeGUI()中调用UpdateGUI()。