Neler yeni
Türkiye'nin En Güncel Forum Sitesi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı yada giriş yapmalısınız. Forum üye olmak tamamen ücretsizdir.

Formlar Arası Kontrol ve Formları Gösterme- Gizleme

ByOnur58

Kayıtlı Üye
MFC Üyesi
  • Üyelik Tarihi
    7 Ocak 2015
  • Mesajlar
    2,114
  • MFC Puanı
    10
  • MFC Seviyesi

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

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; 
using System.Collections; 

namespace Formlar_Arasi_Control 
{ 
    public partial class Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
        
        private **** 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 **** 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 **** Form2_Load(object sender, EventArgs e) 
        { 
            ParentForm.Hide();// form2 açılırken form1 penceresini gizle 
        } 
    } 
}
 
Üst Alt