C#'ta Formlar Arası Nesne Kontrolü

  • 25.313

Bu dersimizde bir formdan diğer formun nesnelerine erişebilmeyi öğreneceğiz.

Evet arkadaşlar ilk önce çalışmamıza 2 tane Form ve 1 adet Class.cs ve Form1'e 2 adet button ve 1 adet textbox, Form2'e 2 adet button ve 1 adet textbox ekleyelim.Project->Add New Item->Class.cs 'den Class.cs ekleyebilirz.Formlar arası geçiş olabilmesi için ilk önce Formları Public yapmalıyız.Bunu da Class.cs yardımıyla yaparız.Class.cs'e çift tıklayarak

class formlar // Class'ımın adını ben formlar diye belirttim.
{
public static Form1 form1 = new Form1();//Yeni bir Form1 türettik.
public static Form2 form2 = new Form2();
}


Ben bu örnekte Formların Textboxlarına erişebilmeyi göstereceğim.Siz daha farklı nesnelere de ulaşabilirsiniz.Daha sonra Formlarda bulunan button ve textboxların Propertieslerinden Modifierslerini" Public" yapalım.

Şimdi asıl yerimize gelebiliriz.İlk önce Form1'in butonlarına şunları yazalım:

***İlk önce button2'ye tıklamayı unutmayınız.

private void button1_Click(object sender, EventArgs e)
{
this.Hide();//Formumuzu gizledik.
formlar.form2.Show();//Class'ta türettiğimiz form2'yi burada Class'tan çektik.
}
private void button2_Click(object sender, EventArgs e)
{
formlar.form2.textBox1.Text = this.textBox1.Text;//Burada ise Form2'nin textbox'ına Form1'in textbox'ında bulunan değeri atadık.
}


Şimdide Form2'mizdeki button ve textbox'lara şunları yazalım.
***İlk önce button2'ye tıklamayı unutmayınız.

private void button1_Click(object sender, EventArgs e)
{
this.Hide();//Formumuzu gizledik.
formlar.form1.Show();//Class'ta türettiğimiz form1'i burada Class'tan çektik.
}
private void button2_Click(object sender, EventArgs e)
{
formlar.form1.textBox1.Text = this.textBox1.Text;//Burada ise Form1'nin textbox'ına Form2'in textbox'ında bulunan değeri atadık.
}



Yararlı Olması dileğiyle...
Nuh Koca



}

  • Etiketler;
Yorum Yaz

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

sayın nuh koca der zorda olsa çözdüm. resimlerle de süsleseydin anlatımını daha hoş olurdu. tabiki bunu videoda anlatsaydın 10 numara olurdu.
[b]hoşgörülü[/b] : Kusura bakmayın daha yeniyim sitenin olaylarını tam çözemedim.İnşallah ileriki derslerimde yaparım. Saygılar...
hoşgörülü : Kusura bakmayın daya yeni olduğum için elimden bu kadarı geldi.İnşallah önümüzdeki derslere (:
olsun. yinede harika anlatmışsın.
sayın nuh koca konu anlatımında"Daha sonra Formlarda bulunan button ve textboxların Propertieslerinden Modifierslerini" Public" yapalım." demişsiniz. sebebi nedir? niçin public yaptık.
[b]hoşgörülü : [/b] C# mantığı VB.NET mantuğından çok farklı.Vb.NET'te başka bir formun nesnelerine Form1.Textbox1.Text="" gibi ulaşabiliyorduk.Yani Public olayı felan yoktu.Ama C#'ta başka bir formun nesnelerine ulaşabilmek için formun ve nesnelerinin Public olması gerek aksi taktirde nesnelere ulaşılamaz.O yüzden Modifiers'lerini Public yaptım.
Ellerinize sağlık sayın Nuh Koca.Bunun nasıl yapıldığını gerçekten çok merak ediyordum...Allah razı olsun...
Ne demek zamma.Sizlere birşeyler öğretebiliyorsak ne mutlu bize(:
Elinize sağlık güzel anlatım olmuş. Benim bir sorum olacak: 2 tane formum var. İkisinde de birer tane picturebox var. Form2 deki butona bastığımda Form1 deki picturebox ın resmi Form2 deki picturebox ın resmi ile değşsin istiyorum, fakat bir türlü olmuyor. Nesnelerim şunlar: Form1.picturebox1 (public yaptım) Form2.picturebox1 (public yaptım) Form2.button1 (public yaptım)
S.A. Anlatım için teşekkür ederim. Lakin bu konuya dair bir sorum olacaktı. Birden fazla form üzerinde sözlük çalışması yapıyorum. İlk formda 'KullanıcıAdı' ve 'Şifre' belirleyeceği kullanıcı tipi (yazar ve yönetici) ile giriş yapıyorum. Giriş yaptıkran sonra eğer giren kişi yönetici ise ara formda görünürlüğünü gizlediğim butonun görünmesini istiyorum. Bunu nasıl yapabilirim. Yardımlarınızı bekliyorum, teşekkürler !

Yukarı Git