lamont Posted June 17, 2015 Share Posted June 17, 2015 Programda Panel Ekranında Kullanıcı Adı Şifre Dogrumasını Geçtikten sonra Panel Gizleniyor Ana Ekran Geliyor Ana Ekranı Kapatmak İstedigimizde Kısaca Bütün Formları Kapatmak İstedigmizAşagıdaki Kodda Defa Evet Tıklayınca Kapanıyor Sorun Nedir private void frmAna_FormClosing_1(object sender, FormClosingEventArgs e) { DialogResult kapat; kapat = MessageBox.Show("Programı Kapatmak İstedignizden Eminmsiniz", "Resturant Yazılımı", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning); if (kapat == DialogResult.Yes) { Application.Exit(); } } Quote Link to comment Share on other sites More sharing options...
ozhan3030 Posted June 17, 2015 Share Posted June 17, 2015 (edited) Programda Panel Ekranında Kullanıcı Adı Şifre Dogrumasını Geçtikten sonra Panel Gizleniyor Ana Ekran Geliyor Ana Ekranı Kapatmak İstedigimizde Kısaca Bütün Formları Kapatmak İstedigmizAşagıdaki Kodda Defa Evet Tıklayınca Kapanıyor Sorun Nedir private void frmAna_FormClosing_1(object sender, FormClosingEventArgs e) { DialogResult kapat; kapat = MessageBox.Show("Programı Kapatmak İstedignizden Eminmsiniz", "Resturant Yazılımı", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning); if (kapat == DialogResult.Yes) { Application.Exit(); } } Kodda bir sorun yok uygulama alanı için yanlışlık var.Application kelime anlamı uygulamadır. Anaformun formclosed özelliğine aşağıdaki kodu ekle yeterlidir. private void Form1_FormClosed(object sender, FormClosedEventArgs e) { this.Hide(); } veya Aşağıdaki kod ile yapabilirsin. private void Form1_FormClosed(object sender, FormClosedEventArgs e) { Form1 from = new Form1(); from.Close(); } Edited June 17, 2015 by ozhan3030 Quote Link to comment Share on other sites More sharing options...
Editor pairs Posted June 18, 2015 Editor Share Posted June 18, 2015 Ozhqn senin paylastigin kod da yanlis form1 closed eventenda yeni form acip onu gizliyorsun this.hide yeterli ama arkadas onu istememis kullanici pencereleri kapattimi tkrar login ekranina dussun istiyor yanlis anlamadiysam Quote Link to comment Share on other sites More sharing options...
winvistafiko Posted June 18, 2015 Share Posted June 18, 2015 Merhabalar form closing eventi yerine 2. formu açacak nesnenin eventine mesela bir buton click eventine; this.Hide(); Form2 frm2 = new Form2(); frm2.ShowDialog(); this.Show(); kodunu yazmanız halinde 2. form kapanır kapanmaz 1. form görünür olacaktır. Kolay gelsin =) Quote Link to comment Share on other sites More sharing options...
Editor pairs Posted June 18, 2015 Editor Share Posted June 18, 2015 Merhabalar form closing eventi yerine 2. formu açacak nesnenin eventine mesela bir buton click eventine; this.Hide(); Form2 frm2 = new Form2(); frm2.ShowDialog(); this.Show(); kodunu yazmanız halinde 2. form kapanır kapanmaz 1. form görünür olacaktır. Kolay gelsin =) Bu şekilde Form 2 logon ekranı olarak kabul edersek. Siz her formu kapattıklarında logon ekranını tekrar oluşturmuş olursunuz buda memory i şişirir. Logon ekranı arkaplanda gizli çünkü. Form2 frm2 = (Form2) Application.OpenForms["Form2"]; şeklinde kullanılırsa açık olan logon ekranına tekrar erişilmiş olur her defasında tekrardan oluşturulmaz. Quote Link to comment Share on other sites More sharing options...
lamont Posted June 18, 2015 Author Share Posted June 18, 2015 Bu Konuda Bir Çözüm Yok Sanırım Quote Link to comment Share on other sites More sharing options...
SimpsoN_Bart Posted June 18, 2015 Share Posted June 18, 2015 Olayı tam anlayamadım ya da sen tam anlatamadın her iki ihtimale karşı bir kaç bir şeyler yazalım; private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (e.CloseReason == CloseReason.UserClosing) { if (MessageBox.Show("Programı Kapatmak İstedignizden Emin misiniz?", "Restaurant Yazılımı", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK) Environment.Exit(0); else e.Cancel = true; } } Bu şekilde yaparsan açık olan tüm formlar kapanır. public static void closeAll() { FormCollection fc = Application.OpenForms; if (fc.Count > 1) { for (int i = (fc.Count); i > 1; i--) { Form selectedForm = Application.OpenForms[i - 1]; selectedForm.Close(); } } } Bu şekilde de yaparsan açık olan diğer tüm formlar kapanır yanlızca kendisi kapanmaz onuda logon ekranı mı yaparsın bilemem. Fonksiyon olarak yazdım nasıl kullanacağını biliyorsundur.Birini Form1_FormClosing evresine diğerini de Butondan çağırarak yapabilirsin. Bu arada "Resturant" yazmışsın böyle bir ifade yoktur doğrusu "Restaurant" fransızca kelimedir. Türkçesi lokantadır. Niye bunu söylüyorum programcı olmanın ilk adımlarından biri programında düzgün ve uygun Türkçe kullanmaktadır. Quote Link to comment Share on other sites More sharing options...
lamont Posted June 18, 2015 Author Share Posted June 18, 2015 Olay Basit Aslında Login Ekranı Dahil Tüm Forum Mesaj Penceresinde Kapatmak İstiyorum 2. Verdiğin Kodda Metodu Yukarıda Koddaki Gibi İf İçinde Kullandım Kapatmadım Amacım Evet Tıklanırsa Tüm Forumları Kapat Simpson Quote Link to comment Share on other sites More sharing options...
SimpsoN_Bart Posted June 18, 2015 Share Posted June 18, 2015 İlk yazdığım kodu direkt Form1_FormClosing evresine yazarsan tüm formları kapatıyor zaten deneyerek yazdım o kodu ben :huh: Quote Link to comment Share on other sites More sharing options...
lamont Posted June 18, 2015 Author Share Posted June 18, 2015 (edited) Simpson Oldu Hemde Süper Oldu Tam İstedigim Gibi Çalışıyor Edited June 18, 2015 by lamont Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.