[ vbvlada @ 19.06.2007. 18:58 ] @
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?
[ Pharos @ 19.06.2007. 23:56 ] @
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 :)

[Ovu poruku je menjao Pharos dana 20.06.2007. u 01:16 GMT+1]
[ vbvlada @ 20.06.2007. 18:05 ] @
Hvala Pharose na ovako detaljnom odgovoru,da vise ovako strucnih ljudi koje ne mrzi da ovako odgovore... :)
[ Pharos @ 20.06.2007. 18:06 ] @
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]

[Ovu poruku je menjao mmix dana 20.06.2007. u 19:43 GMT+1]