23 Aralık 2011 Cuma

C# form kapatmayı engellemek

Bazen yaptığınız uyulamanın sürekli çalışması lazımdır ya da bir sebepten dolatı kapatılması engellenmelidir.Eğer böyle bir durumunuz varsa ve sadece kendi çıkış yöntmleriniz ile çıkmak istiyorsanız o zaman güzel bir haber vereyim. .NET bize güzel bir seçenek sounmuş.Fromclosing event'i ile bunu halletmek oldukça kolay.Hep görmüşüzdü Office uygulamalarında yandaki resme
tıkladığımızda bir soru ekranı geir ve bu şekilde kapatır ya da kapatmaz.Bize lazım olan şey böyle bişeyse kodu çok basit olarak şöyle
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
}
FormClosingEventArgs sınıfıyla bu işi çözüyoruz.İşlem şu şekilde işliyor.Event tetiklendikten sonra bunu iptal ediyoruz.Tabi bu şekilde olursa sadece task'dan kapatırız.O zaman kendi çıkışımızdan çıkması için bir şart koyarız ve Application.Exit() ile çıkarız.
mesela
bool kapatmayi_etkinlestir=false;
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{

if(kapatmayi_etkinlestir==false) e.Cancel = true;
}

şeklinde yaparsak kendi çıkışımızı ayarlamış olacağız.

0 yorum:

Yorum Gönder