C# Panel içinde panel

Aslında nasıl anlatacam onuda bilmiyorum. Şimdi bi form içine sığdırmak istiyorum herşeyi. butona bastığımda bi panel açılsın diğeri kapansın diğer butona bastığımda açık olan panel kapansın yine panel açılsın

http://i.hizliresim.com/B8Ookp.png

http://i.hizliresim.com/OErJm4.png

http://i.hizliresim.com/E3OQoz.png

http://i.hizliresim.com/nEbYnM.png

Şu resimlere  bakın. buna benzer bişi işte. Tek forum her işlem tek forumda yapılsın

Daha kolay bir yöntem olarak TabControl kullanabilirsiniz. Üstteki sekmelere tıklayarak TabPage sayfaları arasında geçiş yapılır.

Resimlerdeki gibi bir sistem yapmak istiyorsanız şu yöntemi deneyebilirsiniz:

İlk panel dışında hepsinin Visible özelliğini false yapın.

Panellere istediğiniz kontrolleri yerleştirdikten sonra tüm panelleri üst üste yerleştirin.

Bu işlemi sürükle-bırak yöntemiyle yaparsanız paneller birbirlerinin içine eklenebilir, onun için paneller form üzerinde ayrı yerlerdeyken SHIFT tuşuna basılı tutarak panelleri seçin, daha sonra Properties'ten Location değerini belirtin Örneğin: 10;10

public Form1()
{
	InitializeComponent();

	// Panelleri butonlarla ilişkilendir
	button1.Tag = panel1;
	button2.Tag = panel2;
	button3.Tag = panel3;
	// ...

	// Butonlara tıklayınca panelSec fonksiyonunu çağır
	button1.Click += new EventHandler(panelSec);
	button2.Click += new EventHandler(panelSec);
	button3.Click += new EventHandler(panelSec);
	// ...
}

private void panelSec(object sender, EventArgs e)
{
	// Tıklanan butonu al
	Button buton = (Button)sender;

	// Tüm panelleri gizle
	Panel[] tumPaneller = { panel1, panel2, panel3 /* , ... */ };
	foreach (Panel p in tumPaneller) p.Visible = false;

	// Butonun Tag özelliğinde panel belirtilmişse görünür yap
	if (buton.Tag is Panel)
		((Panel)buton.Tag).Visible = true;
}

 

Cevap Yaz

Cevap yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git