Nybörjare i c#. gör ett spel där jag trycker på en knapp för att snurra tärningar. Under tiden tärningarna "rullar fram" vill jag inte att man ska kunna trycka på knappen igen utan det ska man få göra då tärningarna rullat klart.
har testat att göra såhär:
btnThrowDice....
{
btnThrowDice.Enable = false;
...alla beräkningar, tärningar rullar...
btnThrowDice.Enable = true;
}
men när jag gör detta och klickar massa på knappen är det som att alla knapptryck sparas i bakgrunden och då knappen blir enable=true igen så trycks knappen ner automatiskt. vill inte att det ska vara så eftersom man ska få göra lite andra val ifall man vill då man slagit tärningarna. någon som kan?
min lärare sa att detta kanske skulle hjälpa:
Boolean test = true;
if (test == true)
{
btnThrowDice.Enabled = false;
}
...tärningar rullar, beräkningar....
test = false;
if (test == false)
{
btnThrowDice.Enabled = true;
}
men även detta sparade knapptrycken i bakgrunden. någon som vet ett bra sätt?
Inte så vackert kanske, men det enklaste verkar vara att lägga in
Application.DoEvents();
före
btnThrowDice.Enable = true;
i din ursprungliga kod.
funkade ju iaf tackar!
Copyright © 1999–2023 Geeks AB. Allt innehåll tillhör Geeks AB.
Citering är tillåten om källan anges.