Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Na dogadjaj KeyDown,kako da programski "pritisnem dugme"?

  • 3 odgovora
  • 3.054 pregleda

Najnovija ↓

Na dogadjaj KeyDown,kako da programski "pritisnem dugme"? 19.06.2007. u 19:58 · pre 235 meseci #1
Radim neki programcic gde imam tastaturu napravljenu od dugmica i zelim da kada se pritisne odredjeni taster na pravoj tastaturi da se vizuelno prikaze kao da se kliknulo dugme koje odgovara tasteru,recimo da izgleda kao da se stvarno kliknulo ili da se promeni boja na kratko(mozda mi ovo vise odgovara)
Metoda PerformClick ne pokazuje vizuelno nista,to sam probao...
Zna li neko kako da to uradim?
Potpis
A vi,kako 'te?
Re: Na dogadjaj KeyDown,kako da programski "pritisnem dugme"? 20.06.2007. u 00:56 · pre 235 meseci
izmenjeno 1 put, poslednji put Pharos 20.06.2007. u 01:16
  1. Pharos20.06.2007. u 01:16zapis iz teksta poruke
#2
U key down eventu odrediš koje si dugme pritisnuo i obojiš to dugme na virtuelnoj tastaturi.
U key up eventu vratiš boju svih dugmića na podrazumevanu.
Jbt kolega, šta će Ćirović da ti kaže :)
Nije gotov domaći, a?

edit:

Evo da pojasnim.
Code:

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.F)
        button2.BackColor = Color.Red;
}


Ako si pritisnuo taster F, button2 na virtuelnoj tastaturi će promeniti boju u crvenu.
Ovo radiš na divljaka za svaki taster posebno. Ako nisi koristio designer već si dugmiće programski kreirao, postoji način da se dosta pojednostavi kod.
Kada otpuštaš taster, tada bi trebao da pozoveš Key up event

Code:

private void Form1_KeyUp(object sender, KeyEventArgs e)
{
    foreach (Control c in Controls)
        if (c is Button) c.BackColor = BackColor;
}

Sad tu ne moraš da vraćaš BackColor svih dugmića, već samo onog kog otpuštaš.
Važno je da u konstruktoru klase staviš

Code:

KeyPreview = true;


Inače se može desiti da netje da radi :)
Potpis
77 77 77 2E 65 73 6E 69 70 73 2E 63 6F 6D
Re: Na dogadjaj KeyDown,kako da programski "pritisnem dugme"? 20.06.2007. u 19:06 · pre 235 meseci
izmenjeno 1 put, poslednji put mmix 20.06.2007. u 19:43
  1. mmix20.06.2007. u 19:43zapis iz teksta poruke
#4
Citat:
vbvlada: Hvala Pharose

Za tebe sam Pharke :)

[mod: ok, ne mogu sebe da nateram da ovo obrisem iako bi trebao :) ostaje poruka, al zuti karton da opravdas]
Potpis
77 77 77 2E 65 73 6E 69 70 73 2E 63 6F 6D
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme