none
Crear controles y añadirlos a un contenedor en tiempo de ejecución RRS feed

  • Pregunta

  • Saludos, tengo una aplicación donde requiero crear y añadir Ej: TextBox a un Ej: Panel, ListBox, ListView, RitchTextBox y que cuando se agregue x cantidad de dicho control al contenedor, dicho contenedor debe mostrar un ScrollBar para poder desplazarse hacia abajo y ver los otros controles creados. El mismo comportamiento que se tendría si se agregaran muchas lineas de texto a un RitchTextBox solo que lo requiero con controles. No se como lograr esto. Requiero ayuda de alguien con mas experiencia y habilidades. Gracias.

    Renzo Rivera

    miércoles, 30 de mayo de 2018 5:34

Respuestas

  • Es bastante sencillo. Simplemente creas una instancia de cada componente que quieras añadir, le pones las propiedades deseadas, y lo añades a la colección Controls del contenedor deseado. Por ejemplo, para añadir un TextBox a un Panel:

    TextBox t = new TextBox();
    t.Left = 10;
    t.Top = 10;
    Panel1.Controls.Add(t);

    Esto puedes repetirlo con todos los controles que quieras añadir. Si vas cambiando el Left y Top de cada control y en algún momento la posición en la que los añades queda fuera de la zona visible del Panel, entonces automáticamente le salen las barras de Scroll (si las has dejado en "auto", que creo que es el valor predeterminado).

    • Marcado como respuesta Renzo19 miércoles, 30 de mayo de 2018 10:17
    miércoles, 30 de mayo de 2018 6:46
    Moderador

Todas las respuestas

  • Es bastante sencillo. Simplemente creas una instancia de cada componente que quieras añadir, le pones las propiedades deseadas, y lo añades a la colección Controls del contenedor deseado. Por ejemplo, para añadir un TextBox a un Panel:

    TextBox t = new TextBox();
    t.Left = 10;
    t.Top = 10;
    Panel1.Controls.Add(t);

    Esto puedes repetirlo con todos los controles que quieras añadir. Si vas cambiando el Left y Top de cada control y en algún momento la posición en la que los añades queda fuera de la zona visible del Panel, entonces automáticamente le salen las barras de Scroll (si las has dejado en "auto", que creo que es el valor predeterminado).

    • Marcado como respuesta Renzo19 miércoles, 30 de mayo de 2018 10:17
    miércoles, 30 de mayo de 2018 6:46
    Moderador
  • ¡Gracias! Todo el problema fue por no ver la propiedad AutoScroll que por defecto estaba en False, solo fue cambiarlo a True. 

    Renzo Rivera

    miércoles, 30 de mayo de 2018 10:19