7 Temmuz 2011 Perşembe

ESC tuşu ile WinForm'u kapatmak


C# kullanarak, bir uygulamayı ESC tuşuna basıldığında kapatmanın birden fazla yolu vardır. İşte bunlardan birkaçı:

Yol 1: En basit haliyle aşağıda verilmiş olan kod parçasını Form'unuza ekleyin.

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
    if (keyData == Keys.Escape) this.Close();
        bool res = base.ProcessCmdKey(ref msg, keyData);
    return res;
}

Yol 2: Form'unuzun KeyPress eventinde aşağıdaki kodun çalışmasını sağlayın.


if (e.KeyChar == (char)27)
    this.Close();

Yol 3: Form özelliklerinden (property), KeyPreview isimli property'yi seçin ve True olarak değer almasını sağlayın. Bu property, default olarak False değere sahiptir. Sonrasında Formunuzun KeyUp eventinde aşağıdaki kodu kullanın.


if (e.KeyCode == Keys.Escape)
    this.Close();

Yol 4: Form üzerinde zaten formu kapatan bir butonunuz var ise. Form üzerindeki CancelButton isimli özelliğe bu butonu atayarak da çözüme gidebilirsiniz.

2 yorum:

Ali DEMİR dedi ki...
Bu yorum yazar tarafından silindi.
Ali DEMİR dedi ki...

Teşekkürler, Yalnız KeyUp değil KeyDown Eventine yazacağız kodu.Saygılar