2013-09-15 3 views
0

Я использую консоль C#. У меня есть таймер вроде: int TimeElasped = 0, чтобы показать и обновить время. можно решить с помощью for(; ;)Таймер с консолью C#

но компьютер не может делать другие коды !!! поэтому я использую этот код:

using System.Threading; 


public class Test 
{ 
    static int TimeElasped = 0; 
    static void Main(string[] args) 
    { 

     Timer tm = new Timer(tm_tick,null,TimeSpan.FromSeconds(1),TimeSpan.FromSeconds(1)); 
     Console.Write(""); 
     Console.ReadKey(); 
    } 
    static void tm_tick(object obj) 
    { 
     Console.Clear(); 
     Console.WriteLine("Timer:{0}", TimeElasped); 
     Counter++; 
    } 
} 

Я не могу использовать Console.Clear(), потому что ясно, все данные в консоли, когда я удаляю Console.Clear() таймер показывает построчно !!!

так как я могу установить таймер, обновляющий время?

спасибо,

+2

Ваш вопрос крайне неясен. Возможно, вы ищете 'Console.CursorPosition'. – SLaks

+0

Стандартный трюк - Console.Write ("\ rTime: {0}", TimeElapsed); –

ответ

0

Если вы хотите, чтобы отобразить время, как он тикает в консоли, то вам нужно очистить окно и «перекроить» все с обновленным временем:

static void tm_tick(object obj) 
    { 
     Console.Clear(); 
     Console.WriteLine("==========================================================================="); 
     Console.WriteLine("Bunch of stuff here to look pretty");   
     Console.WriteLine("==========================================================================="); 
     Console.WriteLine("");   
     Console.WriteLine("Timer:{0}", TimeElasped); 
     Counter++; 
    } 

Однако это основывается на вашем первоначальном вопросе, где я могу только предположить, что вы пытаетесь изменить время и ничего больше.

Смежные вопросы