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:
Código
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:
Código
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