BennyOrm Postad 18 december, 2006 Share Postad 18 december, 2006 Hej! Jag försöker lägga in en timer i min webapplication i visual studio. I Toolboxen väljer jag components och Timer. Vad ska jag göra mer för att den ska fungera? Jag har ställt in tiden , enablat den och satt autoreset till true. Jag vill att en text ska skrivas ut i en textbox var tredje sekund men det händer ingenting! Tack! Länk till kommentar Dela på andra webbplatser More sharing options...
Anjuna Moon Postad 18 december, 2006 Share Postad 18 december, 2006 Du måste starta den också, precis som med alla tidtagarur oDinTimer.Start() Sedan får du utföra dina uppgifter i händelsehanteraren för oDinTimer.Tick Länk till kommentar Dela på andra webbplatser More sharing options...
Anjuna Moon Postad 18 december, 2006 Share Postad 18 december, 2006 Ett tillägg, händelsehanterare heter numer Elapsed och inte Tick (jag lever kvar i gamla versioner Länk till kommentar Dela på andra webbplatser More sharing options...
BennyOrm Postad 18 december, 2006 Trådskapare Share Postad 18 december, 2006 När man lägger in timern hamnar ju initieringarna i initializeComponents, ska jag skriva timer1.start() där? Det funkar inte.. Länk till kommentar Dela på andra webbplatser More sharing options...
BennyOrm Postad 18 december, 2006 Trådskapare Share Postad 18 december, 2006 så här ser koden ut: using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; namespace WebApplication2 { /// <summary> /// Summary description for WebForm1. /// </summary> public class WebForm1 : System.Web.UI.Page { protected System.Timers.Timer timer1; protected System.Web.UI.WebControls.TextBox TextBox1; private void Page_Load(object sender, System.EventArgs e) { // Put user code to initialize the page here } #region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN: This call is required by the ASP.NET Web Form Designer. // InitializeComponent(); base.OnInit(e); } /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.timer1 = new System.Timers.Timer(); ((System.ComponentModel.ISupportInitialize)(this.timer1)).BeginInit(); // // timer1 // this.timer1.Enabled = true; this.timer1.Interval = 3000; this.timer1.Elapsed += new System.Timers.ElapsedEventHandler(this.timer1_Elapsed); this.Load += new System.EventHandler(this.Page_Load); ((System.ComponentModel.ISupportInitialize)(this.timer1)).EndInit(); } #endregion private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { TextBox1.Text="hej"; } } } Länk till kommentar Dela på andra webbplatser More sharing options...
Anjuna Moon Postad 18 december, 2006 Share Postad 18 december, 2006 ska jag skriva timer1.start() där? Det funkar inte.. Lämpligt ställe att starta timern torde väl vara i Page.LoadComplete Länk till kommentar Dela på andra webbplatser More sharing options...
BennyOrm Postad 18 december, 2006 Trådskapare Share Postad 18 december, 2006 Ja, om du menar Page_Load, det har jag provat, funkar ej. Men för att jag lättare ska lösa det: När körs Page_Load och när körs OnInit? Om OnInit körs varje gång sidan uppdateras betyder det att initialize också gör det, och då skapas ju en ny timer varje gång, och så ska det väl inte vara? Är lite lost här, det borde ju funka att bara lägga till timern grafiskt som jag gjort... Länk till kommentar Dela på andra webbplatser More sharing options...
Rekommendera Poster
Arkiverat
Det här ämnet är nu arkiverat och är stängt för ytterligare svar.