• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C# - zamknięcie programu klawiszem

VPS Starter Arubacloud
+1 głos
831 wizyt
pytanie zadane 12 stycznia 2022 w C# przez Czang Kai Shrek Obywatel (1,990 p.)


        public Main()
        {
            InitializeComponent();
             ???
            
        }
        private void endToolStripMenuItem_Click(object sender, EventArgs e)
        {
            System.Windows.Forms.Application.Exit();
            
        }
        private void Main_Load(object sender, EventArgs e)
        {
            ???
        }

Witam, pracuję w C# .NET. Ustawiłem zamknięcie poprzez Click na odpowiednim formularzu, ale czy jest możliwość by zrobić to poprzez naciśnięcie klawisza? np: Esc czy spacja etc.
Widzę w przeglądarce kilka pomysłów
https://stackoverflow.com/questions/3526752/how-to-make-a-form-close-when-pressing-the-escape-key/3526775
https://www.codeproject.com/Questions/692622/ESC-key-to-close-application
ale jak na złość nie potrafię tego zaaplikować... Do czego powinna odnieść się metoda? Do klawisza?

1 odpowiedź

+1 głos
odpowiedź 12 stycznia 2022 przez VBService Ekspert (251,270 p.)
wybrane 12 stycznia 2022 przez Czang Kai Shrek
 
Najlepsza

Masz w pierwszym linku podanym przez Ciebie - Form_KeyDown

https://stackoverflow.com/questions/3526752/how-to-make-a-form-close-when-pressing-the-escape-key/3526775

private void Form_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Escape)
    {
        this.Close();
    }
}

 

P.S.

using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Escape)
            {
                this.Close();
            }
        }
    }
}

 

komentarz 12 stycznia 2022 przez Czang Kai Shrek Obywatel (1,990 p.)

Też wpadłem na to by to przekopiować, ale kompilator słusznie pokazuje, że Main_KeyDown (czy tam Form1_KeyDown, jak kto woli) nie ma żadnych odwołań. Kompiluje się, ale nie wykonuje.
 

1
komentarz 12 stycznia 2022 przez VBService Ekspert (251,270 p.)
edycja 12 stycznia 2022 przez VBService

Sprawdź czy masz zapis w Form1.Designer.cs

 

this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form1_KeyDown);

 

 

dla kodu

 

normalnie ten kod jest dodawany "automatycznie" w czasie tworzenia aplikacji, ale można go "ręcznie" edytować.

1
komentarz 12 stycznia 2022 przez Czang Kai Shrek Obywatel (1,990 p.)

Tak, to jest to! Choć Ja wkleiłem tą linię kodu (patrząc w Twoim kodzie) w pliku Form1.cs
w public Form1()
 

public Form1()
        {
            InitializeComponent();
            this.KeyDown += new   System.Windows.Forms.KeyEventHandler(this.Form1_KeyDown);
        }

  

Podobne pytania

0 głosów
0 odpowiedzi 410 wizyt
pytanie zadane 11 marca 2020 w C# przez czujek22 Dyskutant (7,670 p.)
0 głosów
1 odpowiedź 940 wizyt
0 głosów
0 odpowiedzi 291 wizyt

92,455 zapytań

141,263 odpowiedzi

319,100 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...