내 버튼에 내 데이터베이스의 모든 항목에 대한 패널에 버튼을 추가하는 절차가 있습니다. 이 프로 시저에 추가하려는 것은 btnAddItemName
이라는 것을 제외하고 이전의 모든 기존 컨트롤을 패널에서 제거하는 것입니다. 나는 그것을 어떻게 성취 할 수 있을지 전혀 모른다. 컨트롤을 추가하고 제거하고 모두 지울 수는 있지만 예외를 만드는 방법은 아닙니다.하나의 패널을 제외하고 모든 버튼 제거하기
Dim buttons() As Button = flpItem.Controls.OfType(Of Button)().ToArray
For i As Integer = buttons.Length - 1 To 0 Step -1
If buttons(i).Name <> btnAddItemName.Name Then
buttons(i).Dispose()
End If
Next
참고 : 호출 flpItem.Controls
Private Sub btnCategory_Click(sender As Object, e As EventArgs) Handles btnCategory.Click
Dim source As DataTable = ItemInventoryControlTableAdapter.GetData
For Each row As DataRow In source.Rows
Dim btn As New InventoryItemButton()
btn.Name = DirectCast(row("ItemName"), String)
btn.Text = btn.Name
'Assign the click event to each button
AddHandler btn.Click, AddressOf handleItemButton
'Add button to the item panel
flpItem.Controls.Add(btn)
Next
End Sub
몇 가지 설명을 제공하십시오. –
물론, 나는 나의 대답을 편집했다. –