Panel scroll vertically

12,839

Since you have AutoScroll = true, you shouldn't have to do anything. Any control that you place in the panel that is below the visible boundary will automatically create the appropriate scroll distance in the panel.

If you want to manually override that, set AutoScroll = false and set the size of the canvas yourself using the AutoScrollMinSize property, example:

panel1.AutoScrollMinSize = new Size(0, 1200);

You might want to consider anchoring the panel to the four sides of the form as well, or dock-fill, since it looks like a resizable form. Again, the panel will handle the scrollbar size for you.

Share:
12,839

Related videos on Youtube

Laziale
Author by

Laziale

Updated on June 04, 2022

Comments

  • Laziale
    Laziale almost 2 years

    I have a winform app in which I have a panel control.

    enter image description here

    I want to be able to scroll inside the panel and place controls vertically more then the current height of the control and then have a scroll which will help me to see all the controls, how can I achieve that?

    This is the designer code as well, in case someone wants to take a look at the code:

    private void InitializeComponent()
    {
      this.panel1 = new System.Windows.Forms.Panel();
      this.SuspendLayout();
      // 
      // panel1
      // 
      this.panel1.AutoScroll = true;           
      this.panel1.BackColor = System.Drawing.SystemColors.ControlLightLight;
      this.panel1.Location = new System.Drawing.Point(12, 12);    
      this.panel1.Name = "panel1";
      this.panel1.Size = new System.Drawing.Size(267, 365);
      this.panel1.TabIndex = 0;
      // 
      // Form2
      // 
      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
      this.ClientSize = new System.Drawing.Size(456, 410);
      this.Controls.Add(this.panel1);
      this.Name = "Form2";
      this.Text = "Form2";
      this.ResumeLayout(false);
    }