Referans almak

Başlatan armsistem, 27 Ocak 2014, 08:41:31

armsistem

Arkadaşlar merhaba ; aşağıdaki örneği anlamakta zorluk çekiyorum ,yardımcı olursanız sevinirim. Referans almak ilgili bir örnek ,

   
Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new frmclient());


// frmclient.cs
  frmOzelMesaj frmo = new frmOzelMesaj();
            frmo.anaForm = this;
            frmo.Show();

        public string yyy()
        {
            return "0";
        }


//frmOzelMesaj.cs

   public frmclient anaForm;
        
        private void Form2_Load(object sender, EventArgs e)
        {          
 MessageBox.Show(anaForm.yyy());
        }

muhittin_kaplan

Application.EnableVisualStyles();    //pencere renklendirmesi, buton ovalliği vb görsel efekleri açar.
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new frmclient()); //Yazılan Programı Çalıştırır

Yukardaki Kod Main Fonksiyonu gibi düşünebilirsiniz.

public frmclient anaForm;
        
        private void Form2_Load(object sender, EventArgs e)
        {          
 MessageBox.Show(anaForm.yyy());
        }


ie form2 yüklendiği anda (yüklenirken değil) mesaj kutusu nu Ana form adlı bir nesnesin ki bu bir penceredir içerisindeki yyy fonksiyonunun geri döndürdüğü değeri yazar.
Yani Yukardaki program için ekrana mesaj kutusu çıkartır ve sadece "0" yazar (birde tamam butonu olur)

armsistem

Hocam ben şunu anlamadım diğer formdaki clas çağırırken yöntem biraz farklı. Baştan nesnenin refaransını alıyor ,o biraz kafamı karıştırdı.

muhittin_kaplan


barisertekin

Bir class'ın new anahtar sözcüğü ile örneği alındığında ram'de class'ın her bir değişkeni için yer tahsis edilir.

Daha sonra bu değişkenlere atama yapmak istediğinde bu adreslere yazma işlemi yaparsın.

Kisi adında bir class olsun.

public class Kisi
{
    public string Adi { get; set; }
    public string Soyadi { get; set; }
}


Kullanırken;

Kisi k = new Kisi(); // Kisi class'ının ram'de bir kopyası oluşturulur.
k.Adi = "Baris";