Hur gör man en väldigt enkel digital klocka. Du skall använda en timer, och i eventhandlern för timern så skall du ha följande kod: Precis som Onkelborg skriver... Jag är väll fel ute igen!!! Du måste starta din timer nån annanstans än i tick... eftersom den kallas när timern har startats.Digital klocka?
Jag hittade ett litet script, men det blev inte bra, och den räknar inte upp sekunderna.
<code>
private int hour, minute, second;
TimeZone myTime = TimeZone.CurrentTimeZone;
TimeSpan myTimeSpan =
myTime.GetUtcOffset(new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day));
DateTime today = DateTime.UtcNow;
//Localtime = UTC + UTC Offset
today = today.Add(myTimeSpan);
//Holds the current time components
hour = today.Hour;
minute = today.Minute;
second = today.Second;
info.Text="Ansluter till SQL Server: " + "klockan " + hour + ":" + minute + ":" + second;
</code>
Jag antar att man måste ha en timer inbakad??Sv: Digital klocka?
<code>
info.Text = "Ansluter till Sqlserver: klockan" + System.DateTime.Now.Hour.ToString() + ":" + System.DateTime.Now.Minute.ToString() + ":" +System.DateTime.Now.Second.ToString()
</code>
Nå't sån't i alla fall... :)Sv: Digital klocka?
Alltså lägg till en Timer (timer1) och en Label (label1) till din form. Sätt intervallet på timer1 till 1000 (1000 ms==1 s)
Lägg till en Eventhandler för timer1.Tick
I den kan du skriva typ: Label1.Text=DateTime.Now.ToString("HH:mm:ss");
starta timer1 med timer1.Start
Klart...Sv: Digital klocka?
Jag har gjort så här:
<code>
private void timer1_Tick(object sender, System.EventArgs e)
{
info.Text=DateTime.Now.ToString("HH:mm:ss");
timer1.Start();
}
</code>
Nu händer ingenting.
Jag gjorde sen en ny class tid och la in:
<code>
info.Text="Ansluter till SQL Server: " + "klockan " + DateTime.Now.ToString("HH:mm:ss");
</code>
Då visar ju naturligtvis labelen(info) lite text, men klockan räknar inte upp. Sv: Digital klocka?
Ett exempel:
<code>
public class KlockForm : System.Windows.Forms.Form
{
private System.ComponentModel.IContainer components;
private System.Windows.Forms.Label info;
private System.Windows.Forms.Timer timer1;
public KlockForm()
{
InitializeComponent();
timer1.Start();
}
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.info = new System.Windows.Forms.Label();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.SuspendLayout();
this.info.Location = new System.Drawing.Point(56, 96);
this.info.Name = "info";
this.info.Size = new System.Drawing.Size(176, 56);
this.info.TabIndex = 0;
this.info.Text = "label1";
this.timer1.Interval = 1000;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(292, 273);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.info});
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow;
this.Name = "KlockForm";
this.Text = "KlockForm";
this.ResumeLayout(false);
}
private void timer1_Tick(object sender, System.EventArgs e)
{
info.Text=DateTime.Now.ToString("HH:mm:ss");
}
}
</code>