Çözüldü C# Form içi form nasıl yapılır?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

463895

Hectopat
Katılım
26 Mayıs 2021
Mesajlar
3.453
Makaleler
6
Çözümler
35
Yer
İstanbul
Zamanında çok uğraşıyordum bununla fakat bir süre uğraşmadım ve unuttum.
Eskiden öğrendiğim YouTube videosunu da bulamadım.
Kastettiğim, yeni bir pencere açılmadan, mevcut pencerede başka bir menü açmak istiyorum.
 
Çözüm
Tek tek buton yazıları değiştirmek yerine panellerle çalışmaya ne dersiniz? Bir paneli gizleyin diğerini gösterin. Örneğin ilk menünüz birinci panelde, birinci tuşa bastığınızda panel1.visible = false; panel2.visible = true; bu kodlar çalışır ve istediğiniz menü açılmış olur.
Bunu animasyonlandırmak isterseniz for veya timer eşliğinde location değiştirip sonra görünürlük ayarını değiştirebilirsiniz.
Buyurun.
Hocam kastettiğim bu değil işte. Bakın yazdım zaten.
"Yeni bir pencere açılmadan, mevcut pencerede başka bir menü açmak istiyorum."
 
Tek tek buton yazıları değiştirmek yerine panellerle çalışmaya ne dersiniz? Bir paneli gizleyin diğerini gösterin. Örneğin ilk menünüz birinci panelde, birinci tuşa bastığınızda panel1.visible = false; panel2.visible = true; bu kodlar çalışır ve istediğiniz menü açılmış olur.
Bunu animasyonlandırmak isterseniz for veya timer eşliğinde location değiştirip sonra görünürlük ayarını değiştirebilirsiniz.
 
Çözüm
Tek tek buton yazıları değiştirmek yerine panellerle çalışmaya ne dersiniz? Bir paneli gizleyin diğerini gösterin. Örneğin ilk menünüz birinci panelde, birinci tuşa bastığınızda panel1.visible = false; panel2.visible = true; bu kodlar çalışır ve istediğiniz menü açılmış olur.
Bunu animasyonlandırmak isterseniz for veya timer eşliğinde location değiştirip sonra görünürlük ayarını değiştirebilirsiniz.
Aradığım buydu işte. Teşekkür ederim.
 
Örnek olması için bir gif paylaşayım. Yukarıdakini yazdığımda oyundaydım. Dolayısıyla biraz gecikmeli olarak oyun bittiğinde bu gifi hazırlayabildim.
ezgif-3-939229ca2a6f.gif

[CODE lang="csharp" title="Açıklamalarıyla birlikte"]private void button1_Click(object sender, EventArgs e)
{

timer2.Start(); //panel1'i içeri çekecek timer'ı bununla çalıştırıyoruz.

}

private void timer1_Tick(object sender, EventArgs e)
{
a = p2 * 3; //animasyon hızını etkiliyor. çarpan ne kadar büyük hareket o kadar hızlı.
panel2.Visible = true;
p2++;
panel2.Location = new Point(a, 12);
if (p2 == 4) //konumuna ulaştığı zaman durdurması için. şuanki konum 12x 12y px.biz sadece x i değiştiriyoruz.
{

timer1.Stop(); //optimizasyon açısından timer'ın bir yerden sonra durması lazım. konuma ulaşınca durduruyoruz.
}

}

private void timer2_Tick(object sender, EventArgs e)
{

a = p1 * 3; //animasyon hızını etkiliyor. çarpan ne kadar büyük hareket o kadar hızlı.
p1--;
if (a > 12) //başlangıçta pozisyonu 3 e çarptığı için buton önce uzağa sonra içeri gitmeye başlıyor. bunun önüne geçmek için bu şekilde sınırladım
{
panel1.Location = new Point(12, 12);
}
else
{
panel1.Location = new Point(a, 12);
}
if (p1 == -23)
{
panel1.Visible = false;
timer1.Start(); //bu panel2yi dışarı çeken timer'ı başlatıyor.
timer2.Stop(); //optimizasyon açısından timer'ın bir yerden sonra durması lazım. konuma ulaşınca durduruyoruz.
}
}[/CODE]
 
Son düzenleme:

Yeni konular

Geri
Yukarı