Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Замерять время в форме


Автор: slavaentp 13.1.2009, 22:46
Надо, чтобы в лейбле появлялся текст на одну секунду, а через секунду исчезал. Я посмотрел классы, через которые это делается, но почему-то в форме это не работает, не понимаю почему.

Можете написать, как это в форме работает?

Автор: Drabuna 13.1.2009, 23:22
Код

        Timer tTime = new Timer();

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            tTime.Interval = 1000;
            tTime.Tick += new EventHandler(tTime_Tick);
            tTime.Start();
        }

        void tTime_Tick(object sender, EventArgs e)
        {
            label1.Text = "";
        }


Интервал можно изменить на нужный.

Автор: slavaentp 13.1.2009, 23:25
Drabuna

Спасибо!

Автор: ILoveDrags 11.1.2010, 14:31
Drabuna, 

У меня такой вопрос: 

tTime.Tick += new EventHandler(tTime_Tick);

метод tTme_Tick обрабатывает событие, не имеющее данных. 

а как сделать, чтобы можно было обработать метод с данными?

Автор: Sfate 12.1.2010, 01:13
ILoveDrags, ну предопредели переменные и присвой им данные, а потом используй в функции  tTme_Tick...

Автор: gambit 12.1.2010, 16:44
и еще можно остановить таймер, так на всякий случай

Автор: Dobermann 12.1.2010, 20:01
почти через год тему отрыл  smile 

Автор: Moln 27.1.2010, 14:18
а как сделать обратный счетчик времени? 

ой, нинада, уже нагуглил...

ой, фсиравно нипалучилася...

Автор: gambit 27.1.2010, 19:22
Moln, для начала учим русский, потом:

Код

int i = 1000; // время которое счетчик будет идти

 private void Form1_Load(object sender, EventArgs e)
        {
            tTime.Interval = 1000;
            tTime.Tick += new EventHandler(tTime_Tick);
            tTime.Start();
        }

        void tTime_Tick(object sender, EventArgs e)
        {
            label1.Text = (i--).toString();
        }


Добавлено через 2 минуты и 27 секунд
выше написал что счетчик неплохо остановить, и сам не сделал)))

Код

void tTime_Tick(object sender, EventArgs e)
        {
            label1.Text = (i--).toString();
            if(i == 0)
                 {
                  tTime.Enable = false;
                 }
        }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)