1
我正在製作一個允許用戶將表添加到列表的程序。 但我無法獲取列表中顯示的列表從ListOf轉移項目時遇到麻煩
該表及其屬性被添加到類中的原始列表中,但是一旦我嘗試顯示它,數據似乎消失了。 我假設我在做我的名單有問題,但我無法弄清楚什麼。 我試圖把列表放在另一個數組列表中,但沒有結果。
Imports Table_Tracker_Library
Public Class Main_Form
Private Property _Table As New Table
Private Property _ShowList As Table()
Private Sub Btn_Add_Table_Click(sender As Object, e As EventArgs) Handles Btn_Add_Table.Click
Form_Create_Button.Show()
End Sub
Public Sub Renew()
_ShowList = _Table.GetList()
Me.LB_ActiveTables.ClearSelected()
For Each table As Table In _ShowList
LB_ActiveTables.Items.Add("Table #" & table.Number)
Next
LB_ActiveTables.Refresh()
End Sub
'Private Function GetList() As Table()
' Dim TempList As New List(Of Table)
' For Each table As Table In _Table.ListOfTable
' TempList.Add(table)
' Next
' Return TempList.ToArray
'End Function
End Class
-
Imports Table_Tracker_Library
Public Class Form_Create_Button
Private Property _Table As New Table
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btn_addtable.Click
_Table.CreateTable(Me.txb_TableNr.Text, Me.txb_PplNr.Text)
Main_Form.Renew()
Me.Close()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles btn_discard.Click
Me.Close()
End Sub
End Class
-
Public Class Table
Public Property Number As Int32
Public Property NumberOfPeople As Int32
Public Property ListOfTable As New List(Of Table)
Public Sub CreateTable(TableNrString As String, PersonNrString As String)
Dim TableNR As Int32 = CInt(TableNrString)
Dim PersonNr As Int32 = CInt(PersonNrString)
Dim NewTable As New Table With {.Number = TableNR, .NumberOfPeople = PersonNr}
AddTable(NewTable)
End Sub
Private Sub AddTable(Table As Table)
ListOfTable.Add(Table)
End Sub
Public Function GetList() As Table()
Dim TempList As New List(Of Table)
For Each table As Table In ListOfTable
TempList.Add(table)
Next
Return TempList.ToArray
End Function
End Class
您的意思是'LB_ActiveTables'沒有填充「Table#」&table.Number'值嗎?它應該工作正常。 – varocarbas
是的,這就是我的意思,值不顯示,但是當我調試與步入,它看起來像它永遠不會將項目添加到列表框。 – Vahx
它適用於我(和代碼似乎也很好)。你的意思是「永不增加」,它不會進入循環?如果是這種情況,'_ShowList'不會有任何項目。如果它進入循環,你可以訪問'LB_ActiveTables',應該添加項目沒有任何問題。 – varocarbas