Ahoj
Pisu zapoctak k programku, ale mam mensi problem.
Je to Windows aplikace a potrebuju po stisku klaves vyvolat nejakou udalost (jsou to sipky, ktere mi meni smer).
Ale nevim jak to udelat dal jsem tam ctyri buttony jenze k nem nemuzu pridat klavesovou zkratku
pls poradte jak to mam udelat.
Diky
EDIT: Jo a pisu to v Microsoft Visual C# Express Edition
Pouziti klavesnice
Re: Pouziti klavesnice
Normalne ProcessCmdKey nezachytava sipky, musis tu metodu overridnout
Kód: Vybrat vše
// override ProcessCmdKey pro zachytavani stisku klaves: left/right/up/down arrow atd..
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Left) // Keys.Right,...
{
// proved neco
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
Pracoval jsem na poměrně hodně materiálech pro různé předměty. Pokud Ti něco z toho ušetřilo čas, vyjádři svůj dík v podobě pár satoshi: 1H5JPTrsXie7epAQXbXhMjdgwyLbJ5NHBW
Re: Pouziti klavesnice
Diky, ale to nedela to co potrebuju
napr. v tomhle
po stisku tlacitka mi nereaguje klavesnice, pouze po skonceni for cyklu mi to vyhodi message box prvni sipky kterou jsem zmackl .
Ja bych ale potreboval aby mi hned po stisku klavesy vyhodilo ten messagebox
pls nejakou radu
diky
napr. v tomhle
Kód: Vybrat vše
public partial class Form1 : Form
{
// override ProcessCmdKey pro zachytavani stisku klaves: left/right/up/down arrow atd..
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Left)
{
MessageBox.Show("Vlevo");
return true;
}
if (keyData == Keys.Right)
{
MessageBox.Show("Vpravo");
return true;
}
if (keyData == Keys.Down)
{
MessageBox.Show("Dolu");
return true;
}
if (keyData == Keys.Up)
{
MessageBox.Show("Nahoru");
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
private void button1_Click(object sender, EventArgs e)
{
System.Random rnd = new System.Random();
for (int i = 0; i < 1000; i++)
{
button1.Top = rnd.Next(100);
button1.Left = rnd.Next(200);
for (int j = 0; j < 100000; j++)
{
}
}
}
}
po stisku tlacitka mi nereaguje klavesnice, pouze po skonceni for cyklu mi to vyhodi message box prvni sipky kterou jsem zmackl .
Ja bych ale potreboval aby mi hned po stisku klavesy vyhodilo ten messagebox
pls nejakou radu
diky
Re: Pouziti klavesnice
Ja to resil pres vlakna.. hledej na webu: c# Threads
Pracoval jsem na poměrně hodně materiálech pro různé předměty. Pokud Ti něco z toho ušetřilo čas, vyjádři svůj dík v podobě pár satoshi: 1H5JPTrsXie7epAQXbXhMjdgwyLbJ5NHBW
Re: Pouziti klavesnice
Někde dole v této diskusi: http://forum.builder.cz/read.php?31,2672162 je odkaz na dobrej popis vláken v C#. Je to myslim kapitola z knihy C# in nutshell a já jsem se to z toho učil. Mimochodem při práci na zápočťáku jsem objevil tento web: https://downloads.channel8.msdn.com/ Tam si můžete zdarma stáhnout VS 2008 Professional a další programy, ale musíte se zaregistrovat a mít platnou ISIC kartu UK, jejíž kód to při registraci taky vyžaduje.