none
Es malo o inadecuado tener muchos elementos en un formulario en c#? RRS feed

  • Pregunta

  • si tengo muchos paneles, textboxs, datagridviews, sin tomar en cuenta lo dificil que seria organizar eso xD (podria usar botones para ocultar paneles y mostrar solo uno), esa es mi duda, si tengo muchos elementos en un form se hara pesado o se sobrecargara o ira mas lento? o algo por el estilo?

    PD: soy novato xD

    lunes, 3 de junio de 2019 8:08

Todas las respuestas

  • Sí, tener muchos controles en un formulario perjudicará a su velocidad de carga. Si esto se convierte en un problema, y no necesitas que todos se vean a la vez (por ejemplo, si algunos pueden ir en paneles ocultos, o en tabs de un tabcontrol, etc), puedes sacarlos a uno o más UserControls y solo agregar el user control al formulario que lo contiene en el momento en que sea necesario que se vea.

    Otro problema de tener muchos controles en el formulario es la mantenibilidad. Afecta a dos aspectos: uno es la mantenibilidad del diseño. En caso de que haya que reorganizar el contenido de la pantalla, es difícil hacerlo si contiene muchos controles directamente sobre el formulario. Una forma de aliviarlo es agrupar los controles dentro de otros contenedores, tales como Paneles, Groupboxes, etc.

    El otro problema de mantenibilidad es el de "código spaghetti" en el code-bebind, que se llena desordenadamente de manejadores de eventos conectadas a los muchos controles que hay en el formulario. Esto se alivia usando UserControls. Se agrupan los controles relacionedos entre sí dentro de un UserControl, y los manejadores de los eventos de esos controles se dejan en el código del UserControl. De esa manera, no "polucionan" el código del formulario que contiene al UserControl.

    lunes, 3 de junio de 2019 13:01
  • hola

    >>si tengo muchos elementos en un form se hara pesado o se sobrecargara o ira mas lento?

    siempre mientras mas requerira un mayor esfuerzo en la carga, pero habria que definir "cuanto es mucho", yo he visto desarrollos con varios TabControl repletos de textbox y combos y no eran lentos

    tambien hay que ver a que llamas lento y a que rezonable, si vas a cargar 1 textbox y tarda 1min eso es lento, ahora si tienes en el form organizados en tab o paneles 300 textbox y controles y tarda 30seg eso quizas no seria lento teniendo en cuenta las queries que se deben implementar

    todo es relativo a lo que llamas mucho y cuento es lento

    >>sin tomar en cuenta lo dificil que seria organizar eso

    podrias ayudarte con User Control y ubicar estos dentro de TabControl entonces separas la complejidad pero la unes en un solo form

    saluds


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 3 de junio de 2019 13:10