---
title: "Stoppa loop"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/54366-stoppa-loop"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Viking"
published: "2002-09-26T18:41:00.000Z"
updated: "2002-10-16T09:35:21.000Z"
replies: 7
views: 321
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/54366-stoppa-loop"
---

# Stoppa loop

## #1 — Viking, 2002-09-26T18:41Z

```
Public blnLoop As Boolean

Private Sub Form_Load()

    blnLoop = True

    Do While blnLoop = True
        
        Time.Caption = Now
        DoEvents
    
    Loop
End Sub

Private Sub Command1_Click()

    blnLoop = False
End Sub
```

Försöker få en klocka som uppdaterar sig konstant, men när jag testkör denna kod så kommer inte något fönster upp. Om jag däremot tar bort DoEvents så hänger skiten sig, och detta är typ det första jag gjort i VB (enbart för att jag vill förbereda mig lite inför Programmering A, inte för att jag konverterat eller så :p), så jag har ingen aning om vad som kan vara fel :)

Permalänk: https://www.webforum.nu/p/54366

## #2 — Beatbox, 2002-09-26T18:56Z

Som jag ser det så lämnar du aldrig Form_Load(). Form_Load() brukar normalt användas till att initiera data innan applikationen kör igång. Man ska dock aldrig bli hängande i denna sub.

Du kanske kan lösa det mha att lägga ut en Timer som sköter uppdateringen av Time.Caption ? Det räcker ju med att uppdatera 1 ggr/s eftersom "Now" inte har någon högra upplösning.

Command1_Click() skulle då bara starta eller stoppa Timern.

Permalänk: https://www.webforum.nu/p/798009

## #3 — Gein, 2002-09-26T19:00Z

Håller med föregående talare. En timer passar mycket bättre. Din label skulle troligtvis mest blinka o ha sej, eftersom programmet nu vill skriva till labeln väldigt många ggr per sekund.

Permalänk: https://www.webforum.nu/p/798012

## #4 — Viking, 2002-09-26T19:11Z

Ok. Tyvärr så har jag ungefär noll kunskap om VB, och jag har inte lyckats hitta någon bra manual (har sökt på MS-sida, men har inte hittat något riktigt bra liknanade PHP.nets manual), så jag skulle uppskatta lite mer förklaring :)

Permalänk: https://www.webforum.nu/p/798027

## #5 — Gein, 2002-09-26T19:42Z

dra in en Timer till formen, svår att missa, ikonen är ett tidtagarur.
markera det, tryck ctrl+p så att du kommer till dess egenskaper. Sätt ett lämpligt intervall, typ 1000 om den ska räkna varje sekund.
Så dubbelklickar du på timern och skriver in

```
Time.Caption = Now
```

Och i knappen skriver du

```
timer1.enabled = false
```

mer tydlig än så går väl inte ;)

Permalänk: https://www.webforum.nu/p/798066

## #6 — Viking, 2002-09-27T05:09Z

Hehe, tackar :D

Permalänk: https://www.webforum.nu/p/798260

## #7 — ChristerGbg, 2002-10-09T20:06Z

Du placerar en label (Namn:Label1) 
och en timer (Namn:Timer1) på Formen..
I Properties "skriver" du: 

Timer1.enabled=True   
Timer1.Interval=950  

' Detta skriver du i koden
 
Private Sub Timer1_Timer()
   Label1.Caption = Time
End Sub

 :stud

Permalänk: https://www.webforum.nu/p/814691

## #8 — Nexus86, 2002-10-16T09:35Z

om du fortfarande känner för att använda en loop kan du lägga till raden 

```
Me.Show
```

 överst i Form_Load().

Permalänk: https://www.webforum.nu/p/822027

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/54366-stoppa-loop
