Kaydol:
Kayıt Yorumları
(
Atom
)
Bu uygulamada Form1 de button 1 e tıklayarak Form2 pencere açma uygulaması yapacağız. Bunun için öncelikle Form1 penceresine bir tan buton ekliyoruz. Bu butonun Click olayına Form2 nesnenin bir örneğini alıyotuz. Bu nesne ile gerekli özellikleri ayarladıktan sonar Show metodunu kullanarak Form2 penceresinin gösterilmesini sağlıyoruz. Burada amacımız Form1 den Form2 açtırıp Form1 penceresini kapatmak ve Form2 den tekrar Form1 penceresini açtırıp Form2 penceresini kapatmak. Bunu yapabilmek için Form sınıfından Form1 sınıfına erişmemiz gerekiyor. Bu erişimi Form2 sınıfına ParentForm özelliğini ekleyerek yapıyoruz. ParentForm özelliğine Form1 nesnesinin referansını vereceğiz. Böylece Form2 den Form1 nesnesine erişmiş olacağız. Form2 penceresine de bir buton ekliyoruz. Bu butonın Click olayına Form1 nesnesini ParentForm.Show() metodu ile tekrar görünür yapıyoruz. this.Close metodu ile de Form2 pencerisini kapatıyoruz. Form2 açıldığında Form1 penceresini kapatmak içinde Form2_Load metodunda ParentForm.Hide() metodunu kullanıcağız . Böylece Form2 penceresi açılırken Form1 penceresini kapatmış yani gizlemiş olacağız. /// Form1.cs 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; using System.Collections; namespace Formlar_Arasi_Control { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 form = new Form2(); form.ParentForm = this; // form1 nesnesi parentform a atama form.Show(); } } } /// Form2.cs using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Formlar_Arasi_Control { public partial class Form2 : Form { public Form2() { InitializeComponent(); } public Form ParentForm { get; set; } private void button1_Click(object sender, EventArgs e) { ParentForm.Show(); // form2den button1 e tıklandığında form2 i kapat form1 i tekrar göster this.Close(); } private void Form2_Load(object sender, EventArgs e) { ParentForm.Hide();// form2 açılırken form1 penceresini gizle } } }
Hiç yorum yok :
Yorum Gönder