Hur hindrar jag att flera uträkningar(knappar) körs samtidigt eller att knapp tryck lägger sig i kö. Du kan nog fixa det med subclassing (e inte så haj på hur det funkar...), eftersom man helt enkelt inte bryr sig om knapptryckningar i message-kön. Har kanske inte tänkt igenom det ordentligt. Men en globalvariabel löser det mesta tror jag. Problemet är att jag har ganska många knappar så jag tänkte om det fanns någon click händelse som ligger över alla andra (?). Alltså reagerar före t.ex alla knappar på en form. Men även om det finns så kanske det inte blir så mycket enklare och fixa. Och jag kom på att det är en knapp som jag vill att det ska funka att klicka på jämt. Det är smartare att disabla knapparna. Andreas metod är naturligtvis mycket bättre, använd det. Jo jag tror jag kommer att göra en funktion som stänger alla knappar plus lite listboxar och annat när den håller på och när den är klar öppnar den upp allt.Hindra användaren
Jag vill att om man klickar på en knapp så räknas det klart sen får man klicka på någon annan knapp för att göra något annat. För vissa uträkningar är beroende av andra så jag vill inte kunna kör flera samtidigt.
Finns det någon helhetslösning för alla knappar? eller måste man lägga in if satser i alla knappar?Sv: Hindra användaren
Annars går det ju ganska lätt på ditt sätt. En global variabel
Private bIsRunning As Boolean
Private Sub cmdKnapp_Click()
If Not bIsRunning Then
bIsRunning = True
'Kod
bIsRunning = False
End If
End Sub
/Niklas Jansson
PS. Är det verkligen så det funkar? Det verkar inte riktigt logiskt att VB skulle börja köra nästa kod innan den förra är klar.
Edit: Inte nog med det... Det är inte så. Vad är det du vill uppnå?
/Niklas Jansson
Sv: Hindra användaren
Sv: Hindra användaren
Använd
Command1.Enable = False
Och
Command1.Enable = TrueSv: Hindra användaren
Om du inte vill skriva kod för varje knapp _kan_ du göra en kontrollarray. Detta är antagligen inte speciellt bra i ditt fall.
Hur många knappar är det frågan om - och gör de likartade uppgifter?
/Niklas JanssonSv: Hindra användaren
Jag har gjort en del av knapparna i en kontrollarray men kanske skulle ha gjort fler.
Det kanske låter konstigt varför jag funderar på hur jag ska göra men det är mest för att lära mig tänka rätt till nästa gång.
En annan sak som jag har tänkt på man kan ju använda "for each frm in forms"
Går det att ta "for each lbl in labels" eller något liknande. För det skulle vara användbart t.ex om man vill byta bakgrundsfärg. Skulle också kunna användas om man ville stänga av alla knappar.
Men det går väl inte?? Men det skadar aldrig att fråga ;)