Es un código 'raro'...
De entrada que tiene que ver un objeto control, con una lista de ficheros?.
Cuál es el objetivo de añadir el nombre del control 'checkbox' a dicha lista?.
En los lenguajes de Microsoft, se permite tener "un miembro por defecto", como el miembro que será invocado figuradamente, cuando se indique solamente el nombre del objeto.
Habitualmente suele dejarse la propiedad nombre (de tipo string), como el miembro por defecto.
Así por ejemplo si tienes un botón llamado btnMover, al hacer un 'messagebox.Show (btnMover)' mostrásrá lo mismo que si se se hubiera escrito 'messagebox.Show(btnMover.Name)'
Por otro lado, si tu tienes un listbox (el supuesto llamado listProgramas), lo que añades son strings, pués es una colección de tipo string. Entonces correctamente añade el nombre del checkbox, no el propio control.
Para añadir el control debería ser una colección de controles, o más específicamente de 'checkboxes', o menos restrictivo, de objetos genéricos. (OBJECT es el tipo genérico, y tanto un string como un tipo de datos numérico o un control checkbox son objetos, ahora bien, por eficiencia suele convenir que si se conoce que tipos de objetos van a ser añadidos y son todos del mismo tipo, dicha colección sea homogénea, ...de ese mismo tipo. Y si no se sabe que tipos de objetos van a ser añadidos, pués sí, entonces es cuando convendría usar una colección heterogénea.
Entonces que añadas un string a una colección de strings (además varias veces pués está dentro de un bucle), es correcto, tu error es pués semántico. No entiendes lo que estás haciendo.
Si creas un control, lo lógico es que lo añadas a un contenedor de la interfaz de usuario, ...al form mismo de la ventana que esperes que deba estar, etc... y lo hagas visible cuando quieras que se vea e invisible cuando no desees que se vea.
Por lo mismo, ¿qué problema tendrías en añadirlo durante diseño de modo invisible y cuando proceda reposicionarlo y hacerlo visible?.
De entrada que tiene que ver un objeto control, con una lista de ficheros?.
Cuál es el objetivo de añadir el nombre del control 'checkbox' a dicha lista?.
En los lenguajes de Microsoft, se permite tener "un miembro por defecto", como el miembro que será invocado figuradamente, cuando se indique solamente el nombre del objeto.
Habitualmente suele dejarse la propiedad nombre (de tipo string), como el miembro por defecto.
Así por ejemplo si tienes un botón llamado btnMover, al hacer un 'messagebox.Show (btnMover)' mostrásrá lo mismo que si se se hubiera escrito 'messagebox.Show(btnMover.Name)'
Por otro lado, si tu tienes un listbox (el supuesto llamado listProgramas), lo que añades son strings, pués es una colección de tipo string. Entonces correctamente añade el nombre del checkbox, no el propio control.
Para añadir el control debería ser una colección de controles, o más específicamente de 'checkboxes', o menos restrictivo, de objetos genéricos. (OBJECT es el tipo genérico, y tanto un string como un tipo de datos numérico o un control checkbox son objetos, ahora bien, por eficiencia suele convenir que si se conoce que tipos de objetos van a ser añadidos y son todos del mismo tipo, dicha colección sea homogénea, ...de ese mismo tipo. Y si no se sabe que tipos de objetos van a ser añadidos, pués sí, entonces es cuando convendría usar una colección heterogénea.
Entonces que añadas un string a una colección de strings (además varias veces pués está dentro de un bucle), es correcto, tu error es pués semántico. No entiendes lo que estás haciendo.
Si creas un control, lo lógico es que lo añadas a un contenedor de la interfaz de usuario, ...al form mismo de la ventana que esperes que deba estar, etc... y lo hagas visible cuando quieras que se vea e invisible cuando no desees que se vea.
Por lo mismo, ¿qué problema tendrías en añadirlo durante diseño de modo invisible y cuando proceda reposicionarlo y hacerlo visible?.