Al clickar sobre el botón azul que he señalado en la imagen (2011), se generan en tiempo real una lista de checkboxes y botones en el GroupBox de la derecha,
al clickar en uno de los botones generados en el groupbox, se parsea un texto delimitado y se añaden los items al listview.
Al clickar en otro botón azul limpio los controles del GroupBox (...controls.clear) y todo vuelve a empezar.
Bien, por cada botón azul, necesito recordar los checkboxes del GroupBox que estaban seleccionados, y los items del listview que estaban seleccionados.
Necesito recordarlo dentro del programa, no necesito que cada vez que se abra la aplicación se recuerden los elementos.
Creo que puedo hacer esto sin ayuda pero seguro que lo haría de la manera más complicada xD, me vendrían bien algunas sugerencias antes de empezar a hacerlo...
Mi pregunta es... ¿Como me recomiendan hacerlo?
EDITO:No se si será la forma más correcta, pero bueno, así es como lo he hecho de momento:
Public SelectedFolders As New List(Of String)
Public Sub LlamadaCheckBox(ByVal sender As Object, ByVal e As System.EventArgs)
Dim CheckboxN As CheckBox = CType(sender, CheckBox)
If CheckboxN.Checked = True Then
SelectedFolders.Add(ResourceTag & CheckboxN.Text)
Else
SelectedFolders.Remove(ResourceTag & CheckboxN.Text)
End If
End Sub
el sub que crea los controles:
Private Sub AddSubfolders(ByVal InputList As List(Of String))
GroupBox_subcarpetas.Controls.Clear()
Dim foldernum As Integer = 0
Dim Array_Size As Integer = InputList.Count
Dim chk_() As CheckBox
Dim btn_() As Button
ReDim chk_(Array_Size)
ReDim btn_(Array_Size)
foldernum += 1
chk_(foldernum) = New CheckBox
chk_(foldernum).Name = "CheckBox" & foldernum
chk_(foldernum).Top = 20 * foldernum
chk_(foldernum).Tag = ResourceTag & chk_(foldernum).Text
btn_(foldernum) = New Button
btn_(foldernum).Name = "Button" & foldernum
btn_(foldernum).TextAlign = ContentAlignment.TopLeft
btn_(foldernum).Size = New Point(111, 20)
btn_(foldernum).Top = 20 * foldernum
btn_(foldernum).Location = New Point(20, btn_(foldernum).Top)
btn_(foldernum).Tag = ResourceTag
GroupBox_subcarpetas.Controls.Add(chk_(foldernum))
GroupBox_subcarpetas.Controls.Add(btn_(foldernum))
AddHandler chk_(foldernum).CheckedChanged, AddressOf LlamadaCheckBox
AddHandler btn_(foldernum).Click, AddressOf LlamadaButton
btn_(foldernum).BringToFront()
If SelectedFolders.Contains(ResourceTag & chk_(foldernum).Text) Then chk_(foldernum).Checked = True
Next