Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 17:01

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[C#] Timer fängt zu langsam an...

Discussion on [C#] Timer fängt zu langsam an... within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jan 2013
Posts: 149
Received Thanks: 70
[C#] Timer fängt zu langsam an...

Hey...

ich hätte für einen Freund einen "Timer" in C# schreiben sollen... alles funktioniert einwandfrei, nur wenn ich auf "Start" drücke, startet der Timer sich erst in ca. 0,5 Sekunden oder sogar einer... somit ist dann bei mir die Minute falsch... also dann kommt schon die 1. Minute bei 59 Sekunden.

Quellcode:

Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Timer_New
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        int Sekunden = 0;
        int Minuten = 0;
        int Stunden = 0;


        private void cbSekunden_CheckedChanged(object sender, EventArgs e) // Checkboxen um eben aussuchen zu können, ob man nur Sekunden, Minuten oder Stunden auswählen will. (sehen will)
        {
            if (cbSekunden.Checked == false)
            {
                lbSekunden.Visible = false;
                cbMinuten.Enabled = false;
                lbMinuten.Visible = false;
                cbMinuten.Checked = false;
                lbDoppelpunkt2.Visible = false;
                lbDoppelpunkt.Visible = false;
                lbStunden.Visible = false;
                cbStunden.Enabled = false;
                cbStunden.Checked = false;
            }
            else
            {
                lbSekunden.Visible = true;
                cbMinuten.Enabled = true;
            }
        }

        private void cbMinuten_CheckedChanged(object sender, EventArgs e) // Checkboxen um eben aussuchen zu können, ob man nur Sekunden, Minuten oder Stunden auswählen will. (sehen will)
        {
            if (cbMinuten.Checked == false)
            {
                lbMinuten.Visible = false;
                lbDoppelpunkt2.Visible = false;
                lbDoppelpunkt.Visible = false;
                lbStunden.Visible = false;
                cbStunden.Enabled = false;
                cbStunden.Checked = false;
            }
            else
            {
                lbMinuten.Visible = true;
                lbDoppelpunkt2.Visible = true;
                cbStunden.Enabled = true;
            }
        }

        private void cbStunden_CheckedChanged(object sender, EventArgs e) // Checkboxen um eben aussuchen zu können, ob man nur Sekunden, Minuten oder Stunden auswählen will. (sehen will)
        {
            if (cbStunden.Checked == false)
            {
                lbStunden.Visible = false;
                lbDoppelpunkt.Visible = false;
            }
            else
            {
                lbStunden.Visible = true;
                lbDoppelpunkt.Visible = true;
            }
        }

        private void btnStart_Click(object sender, EventArgs e) //Start-Button, löst die Timer aus.
        {
            tSekunden.Start();
            tMinuten.Start();
            tStunden.Start();
        }

        private void btnStopp_Click(object sender, EventArgs e) //Stop-Button, stoppt die Timer.
        {
            tSekunden.Stop();
            tMinuten.Stop();
            tStunden.Stop();
        }

        private void btnReset_Click(object sender, EventArgs e) //Reset-Button,  setzt Sekunden, Minuten & Stunden auf 0, und stoppt den Timer.
        {
            tSekunden.Stop();
            tMinuten.Stop();
            tStunden.Stop();
            Sekunden = 0;
            Minuten = 0;
            Stunden = 0;
            lbSekunden.Text = Convert.ToString(Sekunden);
            lbMinuten.Text = Convert.ToString(Minuten);
            lbStunden.Text = Convert.ToString(Stunden);
        }

        private void tSekunden_Tick(object sender, EventArgs e) //Timer für die Sekunden.
        {
            Sekunden++;
            lbSekunden.Text = Convert.ToString(Sekunden);

            if (Sekunden >= 60)
            {
                Sekunden = 0;
                lbSekunden.Text = Convert.ToString(Sekunden);
            }
            else
            {

            }
        }

        private void tMinuten_Tick(object sender, EventArgs e) //Timer für die Minuten.
        {
            Minuten++;
            lbMinuten.Text = Convert.ToString(Minuten);

            if (Minuten >= 60)
            {
                Minuten = 0;
                lbMinuten.Text = Convert.ToString(Minuten);
            }
            else
            {

            }
        }

        private void tStunden_Tick(object sender, EventArgs e) //Timer für die Stunden.
        {
            Stunden++;
            lbStunden.Text = Convert.ToString(Stunden);

            if (Stunden >= 24)
            {
                tSekunden.Stop();
                tMinuten.Stop();
                tStunden.Stop();
                Sekunden = 0;
                Minuten = 0;
                Stunden = 0;
                lbSekunden.Text = Convert.ToString(Sekunden);
                lbMinuten.Text = Convert.ToString(Minuten);
                lbStunden.Text = Convert.ToString(Stunden);
            }
            else
            {

            }
        }
    }
}
Falls jemand eine Lösung hat, wie der Timer sich gleich starten kann, dann schreibt bitte!

Damit jeder versteht was ich damit meine...
Hier das Programm als
Hier der ganze Sourcecode etc. als
Danke schon mal im Voraus.
CyberSandler is offline  
Old 01/23/2013, 20:50   #2
 
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
Wieso benutzt du drei Timer? Einer reicht doch.
Intervall auf 1s stellen und fertig.
qkuh is offline  
Old 01/23/2013, 20:56   #3
 
elite*gold: 0
Join Date: Jan 2013
Posts: 149
Received Thanks: 70
Na ja... ich habe 3 Label... ich hab ihn gefragt ob ich 1 Label verwenden darf und dies sich dann ändert... er meinte eben, dass sein Professor es anders verlangt, und joa.
1 Timer - 1 Intervall...
Wenn ich nun 3 Label habe und nur einen Timer habe, dann wird ja nur ein Intervall verwendet.
und ja...

€dit : Hab das Programm zum Download freigestellt.
CyberSandler is offline  
Old 01/23/2013, 21:07   #4
 
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
Lad mal den sourcecode hoch.
qkuh is offline  
Old 01/23/2013, 21:16   #5
 
elite*gold: 0
Join Date: Jan 2013
Posts: 149
Received Thanks: 70
Quote:
Originally Posted by qkuh View Post
Lad mal den sourcecode hoch.
Habe ich gerade eben...

( )
CyberSandler is offline  
Old 01/23/2013, 21:37   #6
 
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208


Hab eine Abweichung von etwa 12ms. Ist relativ viel.
Wenn man das mal 60 rechnet ist man schon bei einer Abweichung von 720ms.
Ich würde entweder mit Threads arbeiten oder das Intervall niedriger setzten und die Systemzeiten miteinander vergleichen.

Hiermit kann man auch gut arbeiten:
qkuh is offline  
Old 01/27/2013, 01:48   #7


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,908
Received Thanks: 25,409
Arrow General Coding -> .NET Languages

#moved
MrSm!th is offline  
Old 01/27/2013, 15:09   #8
 
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
timer zu benutzten um die zeit zu Messen ist grosser unsinn. Benutzte die
nkkk is offline  
Reply


Similar Threads Similar Threads
Es fängt an!!
12/21/2012 - Off Topic - 4 Replies
Hallo, der Weltuntergang hat in Australien angefangen!! Wahrscheinlich kommt der Weltuntergang bei uns am 22.12.21012, also morgen! https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak -ash3/576441_506101692754660_1129994170_n.jpg
Wer fängt mit mir auf S2 an
03/10/2012 - Nostale - 2 Replies
Hey fals jemand lustig mit mir auf einen NEUANFANG Auf s2 kann sich gern melden :D bin lvl 15 bogi ich warte auf dich ;D Schick mir ne PN in epvp mit deinem skype add ich adde dich dann :D bin die ganze nacht on morgen auch meld dich =) würd mich freuen
Es Fängt An!
10/20/2011 - S4 League - 3 Replies
S4 ist in Moment Geht nicht (D0WN) Es ist da, Es wird Gepatcht !!!!! Halloweeen wir kommen :DDDDDD 65334.jpg - Bilder und Fotos kostenlos auf ImageBanana hochladen Wenn wird es Fertig?
Job Timer (Taxi Timer, etc)
09/01/2011 - SRO Hacks, Bots, Cheats & Exploits - 2 Replies
A small utility to keep track of jobs that need timing. http://img834.imageshack.us/img834/6076/jt01.png Always read the changelog! To get access to Job Timer, register at "www.error- soft.net" ( without the spaces between the - ) Press thanks if this helps at all.
Wer fängt mit mir auf s11 neu an????
11/14/2009 - Metin2 - 8 Replies
Hallo, AUF allen servern bin s19 oder........ da ich ein bann ohne grund bekommen habe frage ich euch ob ihr mit mir auf DE server anfängt auf s11 oder auf anderen m2 versionen bitte suche leute die es ernst meinen mir ist es egal ob DE China... ist hauptsache etwas :D falls ihr dort schon seid pnt SPAM3R



All times are GMT +1. The time now is 17:05.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.