C# Void Çağırma

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    caglaray
    caglaray's avatar
    Banlanmış Üye
    Kayıt Tarihi: 24/Şubat/2011
    Erkek

    Bi program deniyordum 2 tane form var frm1 frm2 

    Form1deki butona tıkladığınızda form1'in enabled özelliğini kapatıyorum ve form2 geliyor ekrana.Form2'den database giriş yapıyorum butona tıklayıp kapattığımızda form1'in enabled özelliğinin açılması ve form1'deki Güncelle() isimli void'i çağırmam lazım bu form1'deki datagridview'i güncelliyor.Ama form2'den ne enabled özelliğini açabiliyorum nede güncellemeyi ?

     

    Form1- Buton  ------------- Burda sıkıntı yok çalışıyor

    this.Enabled = false;

     form2 kasaekle = new form2();

    kasaekle.Show();

     

    Form2- Buton -------------- Bu kodlar çalışmıyor sadece form2 kapanıyor ?

    form1 kasa = new form1();

    kasa.Enabled = true;

    kasa.Güncelle();

    form2.ActiveForm.Close();

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nessaj
    nessaj's avatar
    Kayıt Tarihi: 03/Mayıs/2010
    Erkek

    sen form1 kasa = new form1(); diyince yeni bir nesne yaratıyorsun ve o nesne üzerinde işlem yapıyorsun


    nesne yönelimli programlama nedir kavrayamamışsın sanırsam. bak sana şöyle kısaca anlatayım

    form1 denilen şey bir "şablon"dur sen onu tek başına static olmayan niteliklerini çalıştıramazsın,ulaşamazsın, sen

    form1 f = new form1(); diyerek form1 şablonundan bir nesne yaratıyorsun f te bu nesnenin referansını başka bir değişle adresini tutuyor.

    f imiz bir nesne olduğuna göre üstündeki metodları da çalıştırabilirz, ayrıca

    form1 f2 = new form2(); dersek f den bağımsız bir form oluşturmuş oluruz, f ile en ufak bir alakası olmaz

    ama static olarak tanımlanan herhangib birşey için bu geçerli deği, (public) static dediğin zaman uygulamada o nitelik heryerden her zaman erişilir ve tek 1 tane  yaratılır (class initialize edilirken)

    minnacık bir örnek yapalım

    misal 2 tane formmuz var 2. formdan 1. forma ulaşmak istiyoruz


    public partial class form1: form

    {

    public static  form1 AcıkForm;

    public  form1 ()

    {

    initializecomponents();

    AcıkForm = this;//this metodun üzerinde çalıştığı nesne referansını döndürür

    }


    public void transparan()

    {

    this.opacity = 60;

    }

    }

    //bahstetiğin form2 kodu

    form1.AcıkForm.Close();//işte şimdi bizim formu kapatmış olursun

    form1.AcıkForm. transparan ();//şimdide hafif transparanlaşır


    not: büyük küçük harf dikkat etmedim

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    caglaray
    caglaray's avatar
    Banlanmış Üye
    Kayıt Tarihi: 24/Şubat/2011
    Erkek

    Teşekkürler anladım

Toplam Hit: 1597 Toplam Mesaj: 3