none
Bir formdan diger formu kapatma RRS feed

  • Soru

  • Merhaba. Form 1 den form 2 yi açıyorum. Şimdi Form 1 deki butonla Form 2 yi kapatmak istiyorum. Bu mümkün mü? Mümkün ise nasıl yapa bilirim?

    Önceden teşekkürler.

    17 Ekim 2018 Çarşamba 09:49

Yanıtlar

  • Arkadaşlar sorunu çözdüm sonunda. Faydalı olmak için paylaşıyorum.

    • Yanıt Olarak İşaretleyen Rauf_55 17 Ekim 2018 Çarşamba 19:04
    17 Ekim 2018 Çarşamba 19:04
  • private void button1_Click(object sender, EventArgs e)
    {
        Form form = Application.OpenForms.Cast<Form>().Where(f => f.GetType() == typeof(Form2)).FirstOrDefault();
        if (form == null)
            new Form2().Show();
        else
            form.Close();
    }

    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    • Yanıt Olarak Öneren Altan Özdemir 17 Ekim 2018 Çarşamba 10:30
    • Yanıt Olarak İşaretleyen Rauf_55 17 Ekim 2018 Çarşamba 17:48
    17 Ekim 2018 Çarşamba 10:03
  • İstediğimi yalnış anlatmışım. İstediğim şu:

    Form1 içindeki panelde diğer formu açıyorum. Şimdi istiyorum ki form 1 deki butona tıkladığımda panel içindeki form gizlenmesin yani panel.Controls.Clear() istemiyorum. Panel içindeki formun kapanmasını istiyorum. formdaki çarpı işaretine tıkladığı zaman kapandığı gibi kapansın. Şunu nasıl yapa bilirim?

          Rauf bey, Form aslında bir sınıf ve siz bu sınıftan nesne oluşturuyorsunuz.Yani Form da bir nesne string de bir nesne şimdi formu kapatmak istiyorsanız bu Form sınıfından türetmiş olduğunuz nesnenize müdahale edeceksiniz.

    Ya yukarıda Murat beyin yaptığı gibi f1.Close(); //f1'i Form dan türemiş bir nesne olarak varsaydım.

    Yada bellekten direkt atabilirsiniz f1.Dispose(); 

    Yukarıda Murat bey Form için close methodunu kullanmış close methodu closing eventini tetikleyecektir bu eventte sizin o çarpıya bastığınız anda çalışan eventtir.(en azından ben öyle biliyorum belki kelime seçimlerimde hata olabilir)

    Umarım anlatmak istediğimi anlatabilmişimdir.

    • Yanıt Olarak İşaretleyen Rauf_55 17 Ekim 2018 Çarşamba 17:48
    17 Ekim 2018 Çarşamba 16:25
  • Mahsullar yazan yere Form yazın.

    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    • Yanıt Olarak İşaretleyen Rauf_55 17 Ekim 2018 Çarşamba 17:48
    17 Ekim 2018 Çarşamba 17:28

Tüm Yanıtlar

  • private void button1_Click(object sender, EventArgs e)
    {
        Form form = Application.OpenForms.Cast<Form>().Where(f => f.GetType() == typeof(Form2)).FirstOrDefault();
        if (form == null)
            new Form2().Show();
        else
            form.Close();
    }

    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    • Yanıt Olarak Öneren Altan Özdemir 17 Ekim 2018 Çarşamba 10:30
    • Yanıt Olarak İşaretleyen Rauf_55 17 Ekim 2018 Çarşamba 17:48
    17 Ekim 2018 Çarşamba 10:03
  • İstediğimi yalnış anlatmışım. İstediğim şu:

    Form1 içindeki panelde diğer formu açıyorum. Şimdi istiyorum ki form 1 deki butona tıkladığımda panel içindeki form gizlenmesin yani panel.Controls.Clear() istemiyorum. Panel içindeki formun kapanmasını istiyorum. formdaki çarpı işaretine tıkladığı zaman kapandığı gibi kapansın. Şunu nasıl yapa bilirim?

    17 Ekim 2018 Çarşamba 16:18
  • İstediğimi yalnış anlatmışım. İstediğim şu:

    Form1 içindeki panelde diğer formu açıyorum. Şimdi istiyorum ki form 1 deki butona tıkladığımda panel içindeki form gizlenmesin yani panel.Controls.Clear() istemiyorum. Panel içindeki formun kapanmasını istiyorum. formdaki çarpı işaretine tıkladığı zaman kapandığı gibi kapansın. Şunu nasıl yapa bilirim?

          Rauf bey, Form aslında bir sınıf ve siz bu sınıftan nesne oluşturuyorsunuz.Yani Form da bir nesne string de bir nesne şimdi formu kapatmak istiyorsanız bu Form sınıfından türetmiş olduğunuz nesnenize müdahale edeceksiniz.

    Ya yukarıda Murat beyin yaptığı gibi f1.Close(); //f1'i Form dan türemiş bir nesne olarak varsaydım.

    Yada bellekten direkt atabilirsiniz f1.Dispose(); 

    Yukarıda Murat bey Form için close methodunu kullanmış close methodu closing eventini tetikleyecektir bu eventte sizin o çarpıya bastığınız anda çalışan eventtir.(en azından ben öyle biliyorum belki kelime seçimlerimde hata olabilir)

    Umarım anlatmak istediğimi anlatabilmişimdir.

    • Yanıt Olarak İşaretleyen Rauf_55 17 Ekim 2018 Çarşamba 17:48
    17 Ekim 2018 Çarşamba 16:25
  • böyle bir hata alıyorum. Nasıl düzelte bilirim?

    17 Ekim 2018 Çarşamba 16:46
  • Mahsullar yazan yere Form yazın.

    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    • Yanıt Olarak İşaretleyen Rauf_55 17 Ekim 2018 Çarşamba 17:48
    17 Ekim 2018 Çarşamba 17:28
  • Teşekkür ederim
    17 Ekim 2018 Çarşamba 17:48
  • Dediğiniz gibi yaptım Hata almıyorum ama bi sorun var. Sorun şu ki butona iki kez tıkladığımda kapanıyor. Bir kez tıkladığımda kapanması için ne yapmam lazım?

    Kodlarım resimdeki gibi.

    İstediğim şu ki panelde görsenen form Mehsullar ise Mehsullar ı kapatıp Mehsul_redakte ni açsın. Eğer panelde görsenen form Mehsul_redakte ise o zaman Mehsul_redakten i kapatıp Mehsullar ı açsın.

    • Düzenleyen Rauf_55 17 Ekim 2018 Çarşamba 18:31
    17 Ekim 2018 Çarşamba 18:02
  • Arkadaşlar sorunu çözdüm sonunda. Faydalı olmak için paylaşıyorum.

    • Yanıt Olarak İşaretleyen Rauf_55 17 Ekim 2018 Çarşamba 19:04
    17 Ekim 2018 Çarşamba 19:04