Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > StatusStrip


Автор: toisser 17.7.2007, 19:53
для отображения статуса работы поставила в форме StatusStrip

предполагалось, что статус будем меняться из

toolStripStatusLabel1.Text = "Ready"

в

toolStripStatusLabel1.Text = "In progress..."

и обратно.
но текст меняется слишком поздно. то есть в конце работы.

Код

private void button1_Click_1(object sender, EventArgs e)
        {
            
            toolStripStatusLabel1.Text = "In progress...";
            
//бла-бла-бла действия
            toolStripStatusLabel1.Text = "Ready";
        }

Автор: Retro 17.7.2007, 23:16
Да, действительно есть такая бага. Обошел следующим образом:
Текст на StatusStrip меняем по событию MouseDown, а не button1_Click:

Код

        private void button1_MouseDown(object sender, MouseEventArgs e)
        {
            this.toolStripStatusLabel1.Text = "In progress...";
        }

Соответственно процесс запускаем на MouseUp:
Код

        private void button1_MouseUp(object sender, MouseEventArgs e)
        {
            for (int i = 0; i < 1000; i++)
                this.textBox1.Text += i.ToString() + " ";
            this.toolStripStatusLabel1.Text = "Ready";
        }

Все работает по плану. smile 

Автор: toisser 18.7.2007, 15:50
а я поковырялась и у меня вот так заработало
Код

private void button1_Click_1(object sender, EventArgs e)
        {
            
            toolStripStatusLabel1.Text = "In progress...";
referesh();
            
//бла-бла-бла действия
            toolStripStatusLabel1.Text = "Ready";
        }

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