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;
}
:-)