none
"Colección modificada; puede que no se ejecute la operación de enumeración." RRS feed

  • Pregunta

  • Hola, tengo el siguiente problema cuando cierro uno de los formularios de mi proyecto aparece esa exepcion no se por qué, en los eventos FormClosing y FormClosed no hay nada, incluso e comentado todo el código del formulario haber si daba con la solución y pese a que no tenga código sigue dando esa exepcion al cerrar el formulario. Nota: uso vS 2015.

    Renzo Rivera

    viernes, 10 de marzo de 2017 3:28

Todas las respuestas

  • Puede que la excepcion se produzca FUERA del formulario, por ejemplo, el codigo que hace la apertura del formulario podria añadir un manejador para su evento Closing, y el codigo de este manejador no seria visible dentro del propio formulario.

    Utiliza el debugger, y cuando ocurra el error fíjate en donde se detiene dentro del codigo fuente, y si es necesario examina la ventanita de traza de pila para ver como se ha llegado hasta ahi.

    viernes, 10 de marzo de 2017 8:28
  • Hola Alberto gracias por responder, la Excepción se produce cuando cierro el formulario en este procedimiento del Diseñador

             

      Protected Overrides Sub Dispose(ByVal disposing As Boolean)
            Try
                If disposing AndAlso components IsNot Nothing Then
                    components.Dispose()
                End If
            Finally
      MyBase.Dispose(disposing)
            End Try
        End Sub

    Como lo soluciono?


    Renzo Rivera



    • Editado Renzo19 sábado, 11 de marzo de 2017 17:31
    sábado, 11 de marzo de 2017 17:15
  • Bien, estas en modo diseño y al cerrar o terminar el control le dices que se destruya antes de destruirse por si mismo!... eso es modificar el control en tiempo de diseño... no lo hagas o lo estas haciendo mal, cual es la idea de hacer eso?

    Marvin E. Pineda

      ComboBoxMultiColumns

     NetBarControl

      TextEditor

    sábado, 11 de marzo de 2017 22:16
  • Hola Marvin gracias por responder, pero veras yo no puse hay ese código, anteriormente usaba el Visual Studio 2012 y ahora que me paso al 2015 me encuentro con ese problema y solo quiero saber como solucionarlo. Puedes ayudarme?

    Renzo Rivera

    domingo, 12 de marzo de 2017 2:01
  • Entonces, solo comentalo a ver que pasa y pruébalo y nos comentas, ya que no sabes el porque del código...

    Marvin E. Pineda

      ComboBoxMultiColumns

     NetBarControl

      TextEditor

    domingo, 12 de marzo de 2017 4:02
  • Hola Marvin comente la linea siguiente... MyBase.Dispose(disposing) del código antes escrito y el resultado fue:

    Cuando doy Click en el botón cerrar del formulario dice: se produjo la Excepción en DatagridView

    System.IndexOutOfRageException: el indice 0 no tiene un valor. etc etc..


    Renzo Rivera

    domingo, 12 de marzo de 2017 5:13
  • Debes de comentar el evento Dispone, todo el evento para ver que sucede.


    Marvin E. Pineda

      ComboBoxMultiColumns

     NetBarControl

      TextEditor

    domingo, 12 de marzo de 2017 12:59
  • No se cierra el formulario, si entiendo bien lo que hace ese evento es destruir todos los controles del formulario cuando se cierra este. Por lo tanto si lo quito o lo comento el formulario no se cerrara, una solución alternativa es poner On error resume next y listo no aparecerá la excepción, el problema es que me gusta resolver los problemas y no solamente ignorarlos. No obstante si comento todo el codigo sigue apareciendo la Exceptión. :(


    Renzo Rivera


    • Editado Renzo19 domingo, 12 de marzo de 2017 17:00
    domingo, 12 de marzo de 2017 16:55
  • Entiendo, pero hay algo que no encaja, todo control tiene su evento dispone base, básico del control nativo... generalmente uno pone código allí para liberar algunos recursos...así que si lo sobre escribes y lo comentas debería de seguir su ejecución base u original.. así que no queda claro el porque del error porque se desconoce la naturaleza del control y el porque de sobre escribir el evento que mencionas....

    Marvin E. Pineda

      ComboBoxMultiColumns

     NetBarControl

      TextEditor

    domingo, 12 de marzo de 2017 18:00
  • Cuando comento unicamente esta linea de codigo MyBase.Dispose(disposing) y doy click a cerrar el formulario veo como desaparece un BindingNavigator que tengo en el formulario y el primer campo ID del  datagrid que tengo en el form y luego aparece la Excepción en DatagridView

    System.IndexOutOfRageException: el indice 0 no tiene un valor. etc etc..


    Renzo Rivera

    domingo, 12 de marzo de 2017 21:03