私はC#でプログラミングするのがとても新しいので、次の質問では意味しないでください。 ラベル(MonoTouch)の背景色を定期的に変更したいのですが、単純に変更しません。 とにかく、「_hue」の値がコンソールに定期的に表示されます。C#/ MonoTouchスターター:定期的にラベルの色を変更するには?
public void _timer_elapsed(object sender, ElapsedEventArgs e)
{
_hue -= 0.1f;
lblScreen.BackgroundColor = UIColor.FromHSB (_hue,_sat,_bri);
Console.WriteLine (_hue);
}
皆さんはヒントを持っていますか?
THANX! :-)
使用しているタイマーの種類を指定してください。 'System.Timers.Timer'が' BeginInvokeOnMainThread'か 'InvokeOnMainThread'を使用している必要があります。 UIをバックグラウンドスレッドから更新することはできません。 – jonathanpeppers
@ Jonathan.Peppersはターゲットになる可能性が高いです:-)彼のコメントを答えに変換する必要があります! **ほとんどのタイマーは別のスレッドで実行され、この(別のメインスレッドではなく)スレッドで通知されますが、ほとんどの既存のUIツールキット(およびiOSを含む)は**安全に**メインスレッドからしか**使用できません。そのためには、UI要素を更新するために、提案された方法を使用してメインスレッドにコールバックする必要があります。 – poupou