2
我很新的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! :-)
請指定您正在使用什麼類型的計時器。如果is是'System.Timers.Timer',則需要使用'BeginInvokeOnMainThread'或'InvokeOnMainThread'。您無法從後臺線程更新UI。 – jonathanpeppers
@ Jonathan.Peppers可能適用於:-),並且應該將他的評論轉換爲答案!大多數現有的UI工具包(包括iOS)只能從主線程**安全**,而大多數定時器將在單獨的線程上運行,並在此(單獨的,而非主線程)線程上通知您。這要求您使用建議的方法回調主線程,以便更新任何UI元素。 – poupou