Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема с lable, изменение значения 
:(
    Опции темы
крылья
Дата 19.4.2015, 03:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 24.3.2015

Репутация: нет
Всего: нет



ребят тут такое дело, нужно чтобы при нажатии кнопки в лейбле выводилось слово "привет" а потом через какое-то время в лейбле выводилось слово "пока".......вот ниже пример есть как делал, почему-то при нажатии на кнопу у меня через некоторое время сразу пишет "пока"
......почему до этого привет не выводит???? и еще такой вопрос, если кто знает подскажите как это сделать на с++, тоже очень нужно!!!!!!


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Threading;
namespace с_
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
                            
                label1.Text = "привет";
                Thread.Sleep(10000);
                label1.Text = "пока";
      
        }
    }
}

PM MAIL   Вверх
kin
Дата 19.4.2015, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 9.5.2008

Репутация: нет
Всего: 6



Цитата(крылья @  19.4.2015,  03:34 Найти цитируемый пост)
...почему-то при нажатии на кнопу у меня через некоторое время сразу пишет "пока"
Привет! По логике вещей получается, что после 
Код

label1.Text = "привет";
 label1 еще и отрисоваться надо, а ты сразу тормозишь поток..., может лучше использовать таймер...
PM MAIL   Вверх
крылья
Дата 19.4.2015, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 24.3.2015

Репутация: нет
Всего: нет



через таймер не получается((( 

PM MAIL   Вверх
kin
Дата 19.4.2015, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 9.5.2008

Репутация: нет
Всего: 6



Цитата(крылья @  19.4.2015,  12:17 Найти цитируемый пост)
через таймер не получается((( 
 В смысле? Выдается сообщение об ошибке или по каким-либо причинам таймер использовать нельзя (нежелательно)? 
На всякий случай: на форме Ladel, Button,Timer с интервалом в 3 секунды. Все работает - вопросов нет.
Код

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void _evOnTick(object sender, EventArgs e)
        {
            ((Timer)sender).Stop();
            this._label.Text = "Пока";
        }

        private void _evOnClick(object sender, EventArgs e)
        {
            this._label.Text = "Привет";
            this._timer.Start();
        }
    }


Это сообщение отредактировал(а) kin - 19.4.2015, 13:07
PM MAIL   Вверх
крылья
Дата 19.4.2015, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 24.3.2015

Репутация: нет
Всего: нет



если честно, не совсем мне нужна эта методика, нужен другой  способ, например как в WPF обращались к диспетчеру или что-то в этом роде
PM MAIL   Вверх
kin
Дата 19.4.2015, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 9.5.2008

Репутация: нет
Всего: 6



Ну очень вАпче  НичЕ не понял smile  smile  , наверное имеется ввиду вот это:
Код

private void _evOnClick(object sender, EventArgs e)
{
    this._label1.Text = "Привет";
    this._label1.Update();
    Thread.Sleep(3000);
    this._label1.Text = "Пока";
}
 В общем случае: присвой первое значение, дай отрисоваться, останови поток, присвой второе значение...
PM MAIL   Вверх
крылья
Дата 19.4.2015, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 24.3.2015

Репутация: нет
Всего: нет



я знаешь чтонить вот по этой теме http://professorweb.ru/my/WPF/documents_WPF/level31/31_2.php
это на WPF обращались к диспетчеру (объект который привязан к основному потоку) и через него делали визуальное обновление, короче хочу узнать есть ли аналог на обфчном шарпе и интересно есть что-то подобное на плюсах?
PM MAIL   Вверх
sgrey
Дата 19.4.2015, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 15.4.2006

Репутация: нет
Всего: 4



диспетчер в WPF вызывается потому что из потока, в котором выполняется код, нет доступа к контролам. Здесь он тебе не нужен. Если вопрос только в решении задачи - тебе дали 2 рабочих решения. Чем они не устраивают?
PM MAIL   Вверх
kin
Дата 19.4.2015, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 9.5.2008

Репутация: нет
Всего: 6



А можно изложить задание более понятно, а то мое N-е чувство уже устало  его интерполировать... 
Если правильно понял, то тебе нужен доступ к Label из другого потока, или это уже совсем другая история? Если это "Привет - Пока"  то есть метод Invoke, который позволяет выполнить делегат в контексте того потока в котором был создан Label. 
По поводу C++ можно сказать следующее: NET он и в Гонолулу NET, какая разница из под чего ты к нему будешь обращаться...

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0583 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.