Cita de: EleKtro H@cker en 19 Noviembre 2012, 19:12 PM
PD: uso Dim mCheck(9999) porque la cantidad de checkboxes a agregar es indeterminada, se agrega un checkbox nuevo en el form por cada carpeta de una ruta previamente cargada, no se si puedo hacerlo de mejor manera eso...
Se me ocurre sumarr un indíce a dicha matriz mCheck por cada carpeta encontrada, es decir, Resizeas la matriz por cada indice.
Código (VB.NET) [Seleccionar]
Dim mCheck(0) as CheckBox() 'un indice
Private Sub BuscarCarpetas()
Dim i as integer = 0
for directorio in subdirectorios
i+=1 'se encontró una carpeta, sumo un indice
Array.Resize(mCheck,i) 'meto un indice mas a la matriz de CheckBoxes
for i as int32 = 0 to mCheck.length - 1
mCheck(i) = New CheckBox()
'y aqui sigues como esta
Next
De esta forma sólo creas los CheckBoxes que tú necesites basándote en las carpetas encontradas en un directorio. En cuanto al no poder controlar el evento de cierre, ¿Has probado metiéndole un Breakpoint o un MsgBox() para ver si se llama? ¿Has probado a utilizar el evento FormClosed en vez de FormClosing? ¿Probaste quitándole el Me.Formclosing y poniéndole MyBase.Formclosing? Ésto último no tiene mucho que ver xD pero ya sabes, la vida es rara.
No he detectado ninguna anomalía a simple vista, solo que no utilizas una variable y que Dim filesystem = CreateObject("Scripting.FileSystemObject") sobra porque hay una clase del Framework que nos permite trabajar de la misma forma (FileIO creo que era).
Saludos!