Diskuze: Kontrola stisknutých kláves

C# .NET .NET (C# a Visual Basic) Kontrola stisknutých kláves American English version English version

Avatar
matesax
Redaktor
Avatar
matesax:

Dobrý den,
mořím se s tím už hodně dlouho, proto píši sem. Normální event vygenerovaný Visual Studiem mi funguje, ale ne pro form. Protože to chci ale pro celou aplikaci, tak jsem to zkoušel mimo tyto metody. Buď potřebuji něco jako Keys.Input - to ale neexistuje - totiž mám bool metodu pro parametr KeyData - takže potřebuji do KeyData zachytit nějak ten vstup kláves - proto potřebuji něco jako Keys.Input - zkoušel jsem Keys.Return (též bezúspěšně). Nebo tedy jiné řešení. Děkuji.

Odzkoušel jsem

form - KeyPress, KeyDown - if (e.KeyCode == Keys.Q) a protected override bool IsInputKey(Keys keyData) - ////zde potřebuji ten vstup zachytit,...

A pár dalších,..

 
Odpovědět 16.5.2012 14:55
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na matesax
David Čápka:

Teď úplně nechápu, si to zachytávej u každého formu, je to jedna metoda navíc a můžeš volat nějakou sdílenou třídu.

Nahoru Odpovědět 16.5.2012 15:55
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
matesax
Redaktor
Avatar
Odpovídá na David Čápka
matesax:

Jak píšu - form key down event mi nefunguje.

 private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Q)
    {
        this.Close();
    }
}
 
Nahoru Odpovědět 16.5.2012 15:59
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na matesax
David Čápka:

Copypastnul jsem to do nové Form aplikace a dělá to přesně to, co má. Ten kód ti musí vygenerovat VS, tu metodu tam nestačí jen tak napsat, to doufám víš.

Nahoru Odpovědět 16.5.2012 16:47
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
matesax
Redaktor
Avatar
Odpovídá na David Čápka
matesax:

Mohu ji tam jen napsat - a pak přidat do desingeru event - do sekce form,... V desingeru event mám,... (Dělal jsem to přes properies ve VS)

 
Nahoru Odpovědět 16.5.2012 19:12
Avatar
matesax
Redaktor
Avatar
Odpovídá na David Čápka
matesax:

Už tomu rozumím - zaktivuje se mi tlačítko a proto to nejde - přesně jak jsem předpokládal - nemůžu to udělat přes form, když to chci pro celou aplikaci - ve všech místech,... (Přece nebudu všude strkat form1_KeyDown event)

 
Nahoru Odpovědět 16.5.2012 19:16
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na matesax
David Čápka:

Aha, už ti rozumím. Zašrtni u formu KeyPreview ;) Potom bude informován i o událostech jeho controls.

Nahoru Odpovědět 16.5.2012 19:28
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
matesax
Redaktor
Avatar
 
Nahoru Odpovědět 16.5.2012 19:31
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.