Ahoj,
chcel by som odchytit stlacenie Tabu, ale ked ho stlacam, app. na to vobec nereaguje.
Ide o winforms aplikaciu, Form ma povolene KeyPreview a v evente Form1_KeyDown(object sender, KeyEventArgs e), reaguje na ostatne klavesy, ale na stlacenie Tabu nie.
Neviete kde moze byt chyba? Dakujem
Fórum › .NET
C# - odchytenie Tabulatoru
Nevidím důvod, proč by to nemělo jít, ještě jsem to pro jistotu zkusil v praxi jednoduchým kódem -
private void KeyIsDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Tab)
MessageBox.Show("Ahoj!");
}
A skutečně to "Ahoj!" vypíše, když Tab stisknu. Mimochodem, KeyPreview mám na false.
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
MessageBox.Show(e.KeyValue.ToString());
}
pri stlaceni ostatnych tlacitok to reaguje, pri stlaceni tabu nie
ked dam keypreview na false, tak mi to neodchyti ziadne klavesy
stale neodchytava tab
Ten tvůj kód mi odchytává všechny klávesy včetně Tabu a je jedno, jestli mám KeyPreview na true nebo false. Tohle mi hlava nebere :-)
To co ti napsal chrasty musi fungovat.Nekde musis mit nejakou botu v properties.Mas sprane prirazeny event na klavesy?Jestli muzes,tak posli projekt nebo ten form a muzem to otestovat.
To dannyk : Vždyť to má. Když stiskne jakoukoliv klávesu, zavolá se metoda Form1_KeyDown(), která funguje jako handler toho eventu.
Jo,vsiml sem si toho pozdeji.Puvodni prispevek sem prepsal.
Ok :-) To co píšeš mě taky napadlo, ale pak zase nechápu, proč mu to chytá ostatní klávesy, kdyby to neměl provázané... Asi když sem Santas hodí celý projekt, bude to nejlepší.
tak som prisiel na toto:
ak vytvorim prazdny projekt, funguje to
ak donho pridam checkbox ci radio, uz nie:(
EDIT: pokial nenastane zvolenie nejakeho radia tak to ako tak funguje, ak sa nemylim
EDIT2: ospravedlnujem sa, ale zdrojaky zatial nemozem moc ukazat, ale ked tak ukazem casti kodu
Mozna to bude tim,ze to odchytavas nad spatnym controlem.Pokud rikas,ze to funguje,kdyz nekliknes na radio buttona, a po kliknuti uz ne,tak to muze bejt tim,ze se zmeni focus ovladaciho prvku a po stisku TAB uz se to nepredava k Form1 ale RadioButton.Tim padem by si to mel odchytavat v nem.
Dalsi moznosti je udelat si odchytavani globalni na celou aplikaci (HOTKEYS), nebo presmerovani vsech eventu KeyDown u controls na 1 event funkci.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Vypnutí tabulátoru — založil Porcepoque
Odchytenie close — založil ha2
Odchytenie premennej v main z Thread — založil Test556586
C# odchytenie vynimky chybajucej assembly — založil puma
Prerusenie cyklu na cas potrebny pre odchytenie udalosti — založil Tomas
Moderátoři diskuze