Hey;
In my application I want to count number of seconds while the application is waiting for the user input.
I think I should use another thread but I never worked with multithreading. Is there an easier way ?
Hey;
In my application I want to count number of seconds while the application is waiting for the user input.
I think I should use another thread but I never worked with multithreading. Is there an easier way ?
what you really want ? you can use Tick event of Timer class and check conditions inside the event..
Hey;
In my application I want to count number of seconds while the application is waiting for the user input.
I think I should use another thread but I never worked with multithreading. Is there an easier way ?
Ok sorry for not being clear. Actually I want to be able to wait a character input from user and when it exceeds 10 seconds bypass Console.Read() and print an error message.
//I start a timer here
//When it exceeds 10 seconds stop Console.Read() function and move on
Console.Read();
if(timer > 10)
Console.Write("You couldnt answer in 10 seconds.");
This is might help you out:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics; //dont forget to add this namespace!!!
namespace Feb02Exercise
{
public partial class Form1 : Form
{
Timer timer1;
Stopwatch stopWatch1;
bool bTimerStopped;
public Form1()
{
InitializeComponent();
CreatingTimer();
}
private void CreatingTimer()
{
timer1 = new Timer();
timer1.Tick+= new EventHandler(timer1_Tick);
timer1.Interval = 100;
stopWatch1 = new Stopwatch();
stopWatch1.Start();
timer1.Start();
}
private void timer1_Tick(object obj, EventArgs e)
{
if (stopWatch1.IsRunning)
ShowingTime();
}
private void button1_Click(object sender, EventArgs e)
{
if (stopWatch1.IsRunning)
{
if (textBox1.Text != String.Empty)
{
stopWatch1.Stop();
bTimerStopped = true;
ShowingTime();
}
//else, it happens nothing, user must enter some value into textBox
}
}
private void ShowingTime()
{
// Get the elapsed time as a TimeSpan value.
TimeSpan ts = stopWatch1.Elapsed;
// Format and display the TimeSpan value.
if (!bTimerStopped)
labelTime.Text = String.Format("Time elapsed: {0:00}:{1:00} sec", ts.Seconds, ts.Milliseconds);
else
{
labelTime.Text = "You needed " + String.Format("{0:00}:{1:00} sec", ts.Seconds, ts.Milliseconds) + " to press the button.";
bTimerStopped = false;
}
}
}
}
Okay..you can use Timer class. First set the Interval = 1000 (milisecond). Now see the below code
//define one variable
private long lCntTick = 1000;
private void Timer1_Tick(object sender, EventArgs e)
{
if (lCntTick == 1800000)
{
Console.Write("You couldnt answer in 10 seconds.");
break;
}
lCntTick += 1000;
}
Ok sorry for not being clear. Actually I want to be able to wait a character input from user and when it exceeds 10 seconds bypass Console.Read() and print an error message.
//I start a timer here //When it exceeds 10 seconds stop Console.Read() function and move on Console.Read(); if(timer > 10) Console.Write("You couldnt answer in 10 seconds.");
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.