none
MOVER BOTONES USANDO UN SCROLL BAR RRS feed

  • Pregunta

  • Buenos dias, llevo varios dias trabajando en el menu de una aplicacion en c#, tengo varios botones dispuestos como una pila verticalmente, el problema es que son varios y lo que quiero lograr es que cuando se reconozca el scroll bar se puedan ver los demas
    sábado, 23 de febrero de 2019 0:10

Respuestas

  • puedes usar un panel2 contenedor de botones dentro de otro panel1

    y un codigo asi

    public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                vScrollBar1.Maximum = panel2.Size.Height - panel1.Size.Height;
                vScrollBar1.Visible = (panel1.Size.Height >= panel2.Size.Height) ? false : true;
               
            }

            private void vScrollBar1_Scroll(object sender, ScrollEventArgs e)
            {
                panel2.Location = new Point(0, -(vScrollBar1.Value));            
            }

            private void panel1_Resize(object sender, EventArgs e)
            {
                vScrollBar1.Maximum = panel2.Size.Height- panel1.Size.Height ;
                vScrollBar1.Visible = (panel1.Size.Height >= panel2.Size.Height) ? false : true;

            }
        }


    • Editado Marti Llam sábado, 23 de febrero de 2019 6:10
    • Propuesto como respuesta Metaconta domingo, 24 de febrero de 2019 11:45
    • Marcado como respuesta Edgar Rivera Ambrocio martes, 26 de febrero de 2019 19:13
    sábado, 23 de febrero de 2019 6:04

Todas las respuestas

  • puedes usar un panel2 contenedor de botones dentro de otro panel1

    y un codigo asi

    public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                vScrollBar1.Maximum = panel2.Size.Height - panel1.Size.Height;
                vScrollBar1.Visible = (panel1.Size.Height >= panel2.Size.Height) ? false : true;
               
            }

            private void vScrollBar1_Scroll(object sender, ScrollEventArgs e)
            {
                panel2.Location = new Point(0, -(vScrollBar1.Value));            
            }

            private void panel1_Resize(object sender, EventArgs e)
            {
                vScrollBar1.Maximum = panel2.Size.Height- panel1.Size.Height ;
                vScrollBar1.Visible = (panel1.Size.Height >= panel2.Size.Height) ? false : true;

            }
        }


    • Editado Marti Llam sábado, 23 de febrero de 2019 6:10
    • Propuesto como respuesta Metaconta domingo, 24 de febrero de 2019 11:45
    • Marcado como respuesta Edgar Rivera Ambrocio martes, 26 de febrero de 2019 19:13
    sábado, 23 de febrero de 2019 6:04
  • Gracias por la ayuda amigo

    Muy amable

    martes, 26 de febrero de 2019 19:37