Avatar billede haolan Nybegynder
23. juni 2007 - 00:38 Der er 6 kommentarer og
1 løsning

Aktiv label med timer

Hej

Jeg har i et program lavet et stopur.

Jeg vil gerne i min label aktivt kunne se hvor langt stopuret er nået..

Hvordan får jeg gjort det?

Går ud fra det er noget med en timer der skal smides ind.. Men kan ikke rigtigt finde noget brugbart på google
Avatar billede thesurfer Nybegynder
23. juni 2007 - 01:29 #1
Hvis du har et stopur, må du trække noget fra en startværdi (f.eks. 10 minutter), eller lægge noget til en startværdi (f.eks. 0).

Vi os noget kode.
Avatar billede haolan Nybegynder
23. juni 2007 - 01:40 #2
har bare lavet den med den indbyggede funktion i .NET
        public Form1()
        {
            InitializeComponent();
            forbrugsSystem = new ForbrugsSystem();
           
            sw = new Stopwatch();
}
private void btnStart_Click(object sender, EventArgs e)
        {
            sw.Start();
            lblUr.Text = sw.Elapsed.Hours.ToString() + " Timer " + sw.Elapsed.Minutes.ToString() + " Min" + sw.Elapsed.Seconds.ToString() + " Sek";
        }
Avatar billede thesurfer Nybegynder
23. juni 2007 - 22:21 #3
Se dette eksempel, lavet af Microsoft:

http://msdn2.microsoft.com/en-us/library/system.diagnostics.stopwatch.aspx

Du kan enten nøjes med at kigge på C#-delen, eller direkte sortere de andre sprog fra, via "Language Filter" i toppen af siden..
Avatar billede thesurfer Nybegynder
23. juni 2007 - 22:23 #4
Specielt, og men ikke kun, denne del:


        private void timerMain_Tick(System.Object sender,
                                    System.EventArgs e)
        {
            // When the timer is running, update the displayed timer
            // value for each tick event.

            if (stopWatch.IsRunning)
            {
                // Get the elapsed time as a TimeSpan value.
                TimeSpan ts = stopWatch.Elapsed;

                // Format and display the TimeSpan value.
                labelTime.Text = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
                    ts.Hours, ts.Minutes, ts.Seconds,
                    ts.Milliseconds/10);

                // If the user has just clicked the "Lap" button,
                // then capture the current time for the lap time.

                if (captureLap)
                {
                    labelLap.Text = labelTime.Text;
                    captureLap = false;
                }
            }
        }
Avatar billede mysitesolution Nybegynder
23. juni 2007 - 22:59 #5
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;

namespace StopUr
{
    public partial class Form1 : Form
    {
        Stopwatch stopwatch = new Stopwatch();
        Timer timer = new Timer();

        public Form1()
        {
            InitializeComponent();

            //100 milisekunder update... ikke sæt den for lavt
            timer.Interval = 100;
            timer.Tick += new EventHandler(timer_Tick);
        }

        void timer_Tick(object sender, EventArgs e)
        {
            //Sæt det til din labels tekst
            Text = stopwatch.Elapsed.ToString();
        }

        private void buttonStart_Click(object sender, EventArgs e)
        {
            //Stopur start
            stopwatch.Start();
            //Timer start
            timer.Start();
        }

        private void buttonStop_Click(object sender, EventArgs e)
        {
            //Stopur stop
            stopwatch.Stop();
            //Timer stop
            timer.Stop();
        }

        private void buttonReset_Click(object sender, EventArgs e)
        {
            //Nulstil stopur
            stopwatch.Reset();
        }
    }
}


Lav en knap der hedder buttonReset, en der hedder buttonStart, en der hedder buttonStop :) og sæt deres click events til koden :)
Avatar billede mysitesolution Nybegynder
23. juni 2007 - 23:01 #6
En update... gør ikke noget specielt, gør bare koden en brøkdel hurtigere :)

        private void buttonReset_Click(object sender, EventArgs e)
        {
            //Nulstil stopur
            stopwatch.Reset();
            //Stop timer
            timer.Stop();
        }
Avatar billede haolan Nybegynder
24. juni 2007 - 16:59 #7
takker for hjælpen mysitesolution :) Det passede præcis ind i min kodeopbygning :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester