Kezdőoldal » Számítástechnika » Programozás » Üdv, c# programozással kapcsol...

Üdv, c# programozással kapcsolatban lenne kérdésem!?

Figyelt kérdés

Szeretném használni, a form_KeyPress eseményt

if ((e.KeyChar >= 30 && e.KeyChar <= 127) || (e.KeyChar >= 10 && e.KeyChar <= 31))

{

MessageBox.Show("pressed");

}


ez így működik is egy sima formon, de amin egy külön szálon folyamat változtatom pl. egy combobox text-jét, abban az esetben már nem reagál a billentyű lenyomásra!

Ötletek hogy miért lehet ez? (Talán azért mert a combobox van focusban, ha igen ezt hogyan lehet kiküszöbölni)?


2018. márc. 25. 22:45
 1/8 anonim ***** válasza:

Na ennek ugorj neki még egyszer.

(A feltételed különösen tetszik)

2018. márc. 25. 22:52
Hasznos számodra ez a válasz?
 2/8 tabaki ***** válasza:
Nem értek a C#-hoz, de eddig azt feltételeztem, hogy a ComboBoxban is van KeyPress.
2018. márc. 26. 00:04
Hasznos számodra ez a válasz?
 3/8 A kérdező kommentje:
Első: Nem kell nekifutnom mégegyszer, amit leírtam az a probléma! Egy sima egyszerű formo, amin pl nincs textbox vagy combobox, a fent leírt példa működik és az adott billentyű leütésére kírja, hogy pressed, de amint egy szálon egy combobox textjét folyamatosan változtatom, nem reagál billentyűlenyomásra, és az ötletem az volt, hogy azért met a combobox text-je változik ezért az van focus-ban, de nem vagyok benne biztos!
2018. márc. 26. 09:32
 4/8 anonim ***** válasza:
És mi tart vissza attól, hogy megnézd a combobox dokumentációját arról, hogyan is működik?
2018. márc. 26. 10:40
Hasznos számodra ez a válasz?
 5/8 A kérdező kommentje:
Nem értem miért kéne megnéznem? Nem a comboboxot akarom használni! Hanem érzékelni az applikációmmal, ha leütöttek bármilyen billentyűt és arra reagálni, ami működik is mindaddig, amíg nincs folyamatosan egy beviteli mező (pl.: combobox) értéke folyamatosan változtatva egy külön szálon! Innentől nem reagál semmilyen billentyű leütésre a form-om!
2018. márc. 26. 11:05
 6/8 tabaki ***** válasza:
Csak nem azért, mert mégiscsak azt használod? Anélkül, hogy értenék hozzá: Szerintem a form nem maga az applikáció, tehát el tudom képzelni, hogy a program a megjelenített elemektől függetlenül, a háttérben figyelje a billentyűütéseket, vagy futtasson egy olyan szálat, amely időnként visszaszerzi a vezérlést, és ellenőrzi azokat. Ha viszont ez nem megy, akkor eléggé kézenfekvő gondolat, hogy a fókuszban levő objektum tegye meg, nem?
2018. márc. 26. 12:04
Hasznos számodra ez a válasz?
 7/8 anonim ***** válasza:

A te gondod valóban az, hogy a combobox kerül fókuszba.

Át lehet ezt állítani a setfocus meghívásával, de gondolom, neked a combobox inputja kellene.

Ebben az esetben a combobox megfelelő eventjében kell lekezelned a billentyűről érkező karaktert.


OnKeyPress, OnKeyDown event

2018. márc. 26. 12:05
Hasznos számodra ez a válasz?
 8/8 A kérdező kommentje:

Találtam rá megoldást:

Form1.KeyPreview=true;

Így teljesen mindegy, hogy melyik melyik control van fóluszban, működik!!

2018. márc. 26. 12:16

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!