C # / MonoTouch Starter: Как периодически менять цвет метки? - PullRequest
2 голосов
/ 21 января 2012

Я довольно новичок в программировании на C #, поэтому, пожалуйста, не думайте о следующем вопросе. Я хочу периодически менять цвет фона метки (MonoTouch), но это не так. В любом случае значение «_hue» периодически печатается в консоли.

            public void _timer_elapsed(object sender, ElapsedEventArgs e)
        {
            _hue -= 0.1f;
            lblScreen.BackgroundColor = UIColor.FromHSB (_hue,_sat,_bri);
            Console.WriteLine (_hue);
        }

Ребята, у вас есть подсказка?

СПАСИБО! : -)

Ответы [ 2 ]

3 голосов
/ 25 января 2012
 public void _timer_elapsed(object sender, ElapsedEventArgs e)
    {
        _hue -= 0.1f;
        InvokeOnMainThread(delegate{
            lblScreen.BackgroundColor = UIColor.FromHSB (_hue,_sat,_bri);
        });
        Console.WriteLine (_hue);
    }
2 голосов
/ 22 января 2012

Здесь - ссылка на потоки с MonoTouch.

Вы, вероятно, получаете событие таймера в фоновом потоке. Использование BeginInvokeOnMainThread для обновления пользовательского интерфейса, скорее всего, исправит это.

...