Automatyczna zmiana rozmiaru panelu

0

Mam mały problem, a mianowicie chcę, aby mój panel zmieniał rozmiar razem z całym formem i dopasowywał się do niego, lecz nie może wypełniać całego forma, ponieważ u góry potrzebuję, aby wyświetlał mi się jeszcze label, textbox i button. Jeśli ktoś ma jakiś pomysł, to z góry dziękuję i postawię piwo, o ile dowiem się jak to się robi :-) Oto mój kod:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Przeglądarka
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Resize(object sender, EventArgs e)
        {
            int width = Form1.ActiveForm.Width;
            int height = Form1.ActiveForm.Height;
            wwwpanel.Width = width - 24;
            wwwpanel.Height = height - 24;
            wwwpanel.Location = new Point(12,38);
            wwwpanel.Dock = DockStyle.Bottom;
        }

        private void Form1_DoubleClick(object sender, EventArgs e)
        {
            this.Visible = false;
            this.ShowInTaskbar = false;
        }

        private void tray_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            this.Visible = true;
            this.ShowInTaskbar = true;
        }

        private void toolStripMenuItem2_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void toolStripMenuItem1_Click(object sender, EventArgs e)
        {
            this.Visible = true;
            this.ShowInTaskbar = true;
        }
    }
}

I oczywiście dodane są odpowiednie kontrolki; wwwpanel, to to właśnie ta kontrolka panel.
P.S. Jeśli jest lepszy znacznik do kodu C#, nie zauważyłem go :-) i proszę o powiadomienie mnie

Edit:
Udało mi się uzyskać ten efekt bez waszej pomocy z użyciem splitContainer :-)
Dla potomnych pozostawię kod.
Należy utworzyć zdarzenie Resize dla formu, które będzie się odnosić do

private void Form1_Resize

i wkleić kod:

 private void Form1_Resize(object sender, EventArgs e)
        {
            int width = Form1.ActiveForm.Width;
            int height = Form1.ActiveForm.Height;
            splitContainer1.Height = height;
            splitContainer1.Width = width;
        }

:-)

0

a nie wystarczy/latwiej ustawic wlasnosci anchor na Top, Bottom, Left, Right ?

0

Albo dać label, textbox i button na innym panelu, któremu dać Dock na Top, a temu "głównemu" panelowi Dock na Bottom i też powinno działać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1