Button > ovládání šipkami   zodpovězená otázka

Komponenty, WinForms

Jsem začátečník a mám otázku, mám menu aplikace a chci po stisknutí buttonu "start" aby mi šlo ovládání aplikace na šipkách (jedná se o aplikaci podle návodu "programujeme hry dil-1 hungry snake1") jen se k této aplikaci snažím přidat menu a po stalačení buttonu mi nereagují šipky.

Děkuji za radu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Podobný program jsem řešil v C# jde o to že form při odchytnutí klávesi jí buď předá nějakému prvku (jen jednomu) nebo formu.

Já to vyřešil tak, že jsem v menu nepoužil tlačítka ale vykreslil nějakej obrázek tlačítka a při události form.MouseKeyDown jsem zjišťoval zda li je miš uvnitř

Marvin

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Problém hledejte v tom, co dělá tlačítko vámi přidané tlačítko "start".

Pokud teprve kliknutí na tlačítko má "start" spustit běh hada, nastavte ještě v návrhovém prostředí Enabled prvku Timer1 na False a do kódu kliknutí na "start" dejte Timer1.Enabled = True. Ovládání aplikace šipkami se nijak nezmění.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pokud kliknete na tlačítko, dostane tzv. focus (tzn. že bude modře obtažené, když zmáčknete enter, zmáčkne se taky atd.).

Potíž je v tom, že když má komponenta Focus, tak do formuláře nechodí události KeyDown atd., protože je žere ta komponenta.

Formuláři by mělo jít nastavit KeyPreview na True, pak by měl dostávat všechny klávesové události.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Díky tato rada funguje bez problémů

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback