Exécuter une Horloge Numérique sur votre WinForm
Salut, je dois concevoir un Formulaire Windows qui a une zone de texte simple. La zone de texte contient une minuterie comme du texte (00:00 format).
Je veux actualiser la page toutes les secondes et rendre le contenu de la zone de texte change en conséquence. (Juste comme une horloge numérique, en cours d'exécution pour dire, une heure!).
J'ai compris j'ai besoin d'utiliser la System.Windows.Forms.Timer
classe et j'ai laissé tomber un Timer
élément de la boîte à outils de mon Formulaire.
Ensuite, quoi... ai-je besoin pour utiliser Thread.Sleep(1000)
fonction.. des idées ?
Voici le code-pièce, j'ai essayé. Je sais où ça se passe mal dans le programme, et la thread.sleep()
partie, il est même pire pour mon code à Exécuter. J'ai essayé la Minuterie de trucs dans la boîte à outils, mais ne pouvait pas passer à travers.(Quand je lance le code, il compile correctement, puis l'application se fige pendant une Heure en raison de la sale Pour les Boucles) a l'Aide !!
public partial class Form1 : Form
{
Button b = new Button();
TextBox tb = new TextBox();
//System.Windows.Forms.Timer timer1 = new System.Windows.Forms.Timer();
public Form1()
{
b.Click += new EventHandler(b_click);
b.Text = "START";
tb.Text = "00 : 00";
//timer1.Enabled = true;
//timer1.Interval = 1000;
tb.Location = new Point(100, 100);
this.Controls.Add(tb);
this.Controls.Add(b);
InitializeComponent();
}
private void refreshTimer_Tick()
{
for (int i = 0; i < 60; i++)
{
for (int j = 0; j < 60; j++)
{
Thread.Sleep(500);
string TempTime = string.Format("{0:00} : {1:00}",i,j);
tb.Text = TempTime;
Thread.Sleep(500);
}
}
}
public void b_click(object sender, EventArgs e)
{
refreshTimer_Tick();
}
}
Non, vous n'avez pas besoin d'utiliser de Fil.Sommeil. Réponse à la Question...
Vous question est difficile, au mieux. Est-il web ou pas? Si c'est vous devez utiliser javascript si pas, vous pouvez simplement mettre à jour la zone de texte de chaque seconde avec la minuterie. Le timer déclenche un événement jamais n millisecondes.
ce qui sur la terre avez-vous fait? Maintenant vous n'avez plus d'une minuterie. Pourquoi êtes-vous à l'aide de
Thread.Sleep
?. Pourquoi êtes-vous à l'aide de la for
boucles? Pourquoi êtes-vous à l'aide de string.Format
? Et enfin, pourquoi êtes-vous à l'aide d'un clic de bouton pour lancer un timer tick? J'aimerais investir dans un beau C#/.Net WinForms livre et de revenir à l'essentiel.Je vois, j'ai vraiment eu envie de savoir sur la chaîne.Format que j'ai pensé que vous étiez en train de faire quelque chose d'autre. Je suis content que vous avez atteint votre objectif.
OriginalL'auteur LetsKickSomeAss in .net | 2011-12-30
Vous devez vous connecter pour publier un commentaire.
Régler la minuterie et de la période d'actualisation. (1 seconde)
Alors vous avez besoin pour mettre en œuvre ce que vous voulez de la minuterie de faire toutes les 1 seconde:
OriginalL'auteur ediblecode