oki :) Du kan inte använda en timer med en webbsida. lite att läsa: http://www.csharphelp.com/archives/archive90.html Jag har tänkt mig en timer som ska göra något varje minut,, men har noll kolla på dessa timers, är lite nybörjare på c# också.. :/Sv: Timer
using System;
using System.Timers;
namespace TimerTest
{
public class TimerClass
{
Timer timer=new Timer();
public TimerClass()
{
timer.Interval=1000;//intervall 1 sekund
timer.Elapsed+=new ElapsedEventHandler(this.Elapsed);
}
public void Start()
{
timer.Start();
}
public void Stop()
{
timer.Stop();
}
private void Elapsed(object sender,ElapsedEventArgs e)
{
//Denna kommer att bli kallad varje sekund
}
}
}
Sv: Timer
då blir det this.start() jag ska anropa för att starta den då eller ?
jag la in den så här
using System;
using System.Timers;
namespace igloo
{
/// <summary>
/// Summary description for Timer.
/// </summary>
public class TimerClass
{
Timer timer = new Timer();
public TimerClass()
{
timer.Interval=1000; //intervall 1 sekund
timer.Elapsed+=new ElapsedEventHandler(this.Elapsed);
}
public void Start()
{
timer.Start();
}
public void Stop()
{
timer.Stop();
}
private void Elapsed(object sender,ElapsedEventArgs e)
{
default21 start = new default21();
start.lbltime.Text = Convert.ToString(DateTime.Now.TimeOfDay);
}
}
}
då jag anropar start() från start.aspx, och tanken att han skulle uppdatera texten i min label, men det hände inget. det är inte det jag ska ha timern till men jag bara testade, för jag har noll koll på timers :/
många tack för hjälpen // Tocker
Sv: Timer
Koden körs på servern för att skapa webbsidan. När koden avslutas så försvinner timern.
Ifall timern skulle ligga kvar på servern så skulle det inte hjälpa ändå, eftersom servern inte kan göra något med webbsidan, eftersom den redan har skickats till webbläsaren.
Du får använda Javascript ifall du vill uppdatera något på webbsidan.Sv: Timer
Ett litet exempel...
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace test
{
/// <summary>
/// Summary description for TimerForm.
/// </summary>
public class TimerForm : System.Windows.Forms.Form
{
private System.Windows.Forms.Button cmdStart;
private System.Windows.Forms.Button cmdStop;
private System.Windows.Forms.Label lblTime;
private System.Windows.Forms.Timer timer;
private System.ComponentModel.IContainer components;
private double count=0;
public TimerForm()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
//
// TODO: Add any constructor code after InitializeComponent call
//
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.cmdStart = new System.Windows.Forms.Button();
this.cmdStop = new System.Windows.Forms.Button();
this.lblTime = new System.Windows.Forms.Label();
this.timer = new System.Windows.Forms.Timer(this.components);
this.SuspendLayout();
//
// cmdStart
//
this.cmdStart.Location = new System.Drawing.Point(56, 152);
this.cmdStart.Name = "cmdStart";
this.cmdStart.TabIndex = 0;
this.cmdStart.Text = "Start";
this.cmdStart.Click += new System.EventHandler(this.cmdStart_Click);
//
// cmdStop
//
this.cmdStop.Location = new System.Drawing.Point(144, 152);
this.cmdStop.Name = "cmdStop";
this.cmdStop.TabIndex = 1;
this.cmdStop.Text = "Stop";
this.cmdStop.Click += new System.EventHandler(this.cmdStop_Click);
//
// lblTime
//
this.lblTime.Location = new System.Drawing.Point(56, 40);
this.lblTime.Name = "lblTime";
this.lblTime.Size = new System.Drawing.Size(184, 23);
this.lblTime.TabIndex = 2;
this.lblTime.Text = "label1";
//
// timer
//
this.timer.Interval = 1000;
this.timer.Tick += new System.EventHandler(this.timer_Tick);
//
// TimerForm
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(292, 213);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.lblTime,
this.cmdStop,
this.cmdStart});
this.Name = "TimerForm";
this.Text = "TimerForm";
this.ResumeLayout(false);
}
#endregion
private void cmdStart_Click(object sender, System.EventArgs e)
{
timer.Start();
}
private void cmdStop_Click(object sender, System.EventArgs e)
{
timer.Stop();
}
private void timer_Tick(object sender, System.EventArgs e)
{
count++;
lblTime.Text=String.Format("{0}",count);
}
}
}
Sv: Timer