none
Kapatma tuşu ile kapatılan formu açma RRS feed

  • Soru

  • Merhaba;

    pencere kapatma tuşu olan x(sağ üste bulunan) ile kapatılan formu ".show" ile açamıyorum. 3 formum var 1.si(ana forum) üzerinde 2 tane buton var birine basılınca atanmış forum açılıp diğerinin kapanmasını diğeri de aynı tepkiyi vermesini istiyorum. formlar arası geçişi ".hide" ve ".show" ile yaptım ancak x tuşuyla kapatılan forum açılmak istenince hata vermekte.

    12 Kasım 2016 Cumartesi 19:55

Yanıtlar

  • Bak şimdi form1 deki kodlar:

    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;
    
    namespace birden_cok_form
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            Form2 frm2 = new Form2();
            Form3 frm3 = new Form3();
    
            private void button1_Click(object sender, EventArgs e)
            {
                frm2.Show();
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                frm3.Show();
            }
        }
    }

    form2 deki kodlar:

    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;
    
    namespace birden_cok_form
    {
        public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }
    
            private void Form2_FormClosing(object sender, FormClosingEventArgs e)
            {
                e.Cancel = true;
                this.Hide();
            }
        }
    }

    form3 deki kodlar:

    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;
    
    namespace birden_cok_form
    {
        public partial class Form3 : Form
        {
            public Form3()
            {
                InitializeComponent();
            }
    
            private void Form3_FormClosing(object sender, FormClosingEventArgs e)
            {
                e.Cancel = true;
                this.Hide();
            }
        }
    }

    ve bu da bir bu programa ait bir görüntü:

    Bu da resource dosyasının indirme linki: İNDİR



    12 Kasım 2016 Cumartesi 22:02
  • var tabi elle yazdıysan çalışmaz

    FormClosing

    • Yanıt Olarak İşaretleyen Ekrem Bülbül 13 Kasım 2016 Pazar 15:21
    13 Kasım 2016 Pazar 14:43

Tüm Yanıtlar

  • X'e basılınca kapatılan formun closing eventine

    e.Cancel = true;

    this.Hide();


    Kodlarını yaz bi dene




    12 Kasım 2016 Cumartesi 19:59
  • maalesef olmadı program closing ile kapatılınca nasıl tekrar nasıl aktif hale getiririz
    12 Kasım 2016 Cumartesi 20:59
  • işte yukarıdakini yazınca olması lazım

    tam olarak ne hata veriyor?

    12 Kasım 2016 Cumartesi 21:04
  • """"'System.ObjectDisposedException' türünde bir yakalanamayan özel durum, System.Windows.Forms.dll öğesinde oluştu

    Ek bilgi: Bırakılmış bir nesneye erişilemiyor.""""

    Hatası vermekte (Türkçe kullanıyorumda) Bu hata ana forumda kapatılan formun tuşuna basınca "forum2.show"

    kodunda hata veriyor 

    private void Kayıt_FormClosing(object sender, FormClosingEventArgs e)
            {
                
                    e.Cancel = true;
                    this.Hide();
                
            }

    bu kapatılan 2. forma ait

    12 Kasım 2016 Cumartesi 21:19
  • Bak şimdi form1 deki kodlar:

    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;
    
    namespace birden_cok_form
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            Form2 frm2 = new Form2();
            Form3 frm3 = new Form3();
    
            private void button1_Click(object sender, EventArgs e)
            {
                frm2.Show();
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                frm3.Show();
            }
        }
    }

    form2 deki kodlar:

    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;
    
    namespace birden_cok_form
    {
        public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }
    
            private void Form2_FormClosing(object sender, FormClosingEventArgs e)
            {
                e.Cancel = true;
                this.Hide();
            }
        }
    }

    form3 deki kodlar:

    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;
    
    namespace birden_cok_form
    {
        public partial class Form3 : Form
        {
            public Form3()
            {
                InitializeComponent();
            }
    
            private void Form3_FormClosing(object sender, FormClosingEventArgs e)
            {
                e.Cancel = true;
                this.Hide();
            }
        }
    }

    ve bu da bir bu programa ait bir görüntü:

    Bu da resource dosyasının indirme linki: İNDİR



    12 Kasım 2016 Cumartesi 22:02
  • Yanıtın için teşekkürler ama olmadı 

    Kayıt forum1 = new Kayıt();
            Aktbekleyen forum2 = new Aktbekleyen();
            Evrbekleyen forum3 = new Evrbekleyen();
            Tamam forum4 = new Tamam();
            Ayar forum5 = new Ayar();
            Excel forum6 = new Excel();
    
            
            private void button1_Click(object sender, EventArgs e)
            {
                forum3.Hide();
                forum4.Hide();
                forum2.Hide();
                forum1.Show();
                forum5.Hide();
                forum6.Hide();
    
    
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                forum3.Hide();    
                forum1.Hide();
                forum2.Show();
                forum4.Hide();
                forum5.Hide();
                forum6.Hide();
    
    
            }
     public Ayar()
            {
                InitializeComponent();
            }
            private void Ayar_FormClosing(object sender, FormClosingEventArgs e)
            {
                e.Cancel = true;
                this.Hide();
            }

    Sanırım 

    private void Form3_FormClosing(object sender, FormClosingEventArgs e)
            {
                e.Cancel = true;
                this.Hide();
            }

    kodunu formun kapatılması olarak görmüyor

    13 Kasım 2016 Pazar 06:19
  • Ama sen form1 le form2'nin closing eventine de bu dediğimi yapman lazım baksana kodlarına 

    form1 ve form2 için de show kullanıyorsun demek ki bu formları kapatıyosun onların closing eventine de

    e.Cancel = true;
    this.Hide();
    Kodlarını kullan bakalım.

    13 Kasım 2016 Pazar 08:35
  • http://s4.dosya.tc/server3/ngli9z/EkremUS.rar.html

    Kontrol eder misiniz?

    13 Kasım 2016 Pazar 10:25
  • http://s4.dosya.tc/server3/ngli9z/EkremUS.rar.html

    Kontrol eder misiniz?

    Benim VS versiyonum senin kinden daha eski old. için proje dosyasını açamadım ama cs dosyalarından kodlarını görebildim hiç birinde FormClosing eventi yok. Nedense bu problemin bunkodlardan kaynaklandığına çok eminim Ben de programlarıma form eklediğimde ve eğer eklediğim formun closing eventine gerekli kodları yazmadan açmaya çalıştığımda yukarıdaki hatayı alıyorum.

    Belki başka birisi yardım edebilir biraz beklersen birisi cevap verecekdir.

     
    13 Kasım 2016 Pazar 11:23
  • Çabaların için teşekkürler

    fromclosing eventini sildim hatalı olduğundan bu eventi otomatik çıkarma yöntemi varmı. Mesela buton clik eventi için butona tıklamak gibi

    13 Kasım 2016 Pazar 11:53
  • var tabi elle yazdıysan çalışmaz

    FormClosing

    • Yanıt Olarak İşaretleyen Ekrem Bülbül 13 Kasım 2016 Pazar 15:21
    13 Kasım 2016 Pazar 14:43
  • Eyvallah özcan kardeşim çok iyi oldu bu işimi gördü
    13 Kasım 2016 Pazar 15:25
  • Eyvalah bunun çözülmesine senden çok sevidim.
    13 Kasım 2016 Pazar 15:34