所以在我的Form1
我有一个名为lblView
我还有一个名为Timer.cs
我所拥有的地方:
public TriageTimer(int ticket_num, int alert_time_in_sec, int error_time_in_sec)
{
this.id = ticket_num;
this.counter.Elapsed += new ElapsedEventHandler(this.count);
this.counter.Interval = 1000;
this.alert_timer.Elapsed += new ElapsedEventHandler(this.alert_sound);
this.alert_timer.Interval = alert_time_in_sec;
this.error_timer.Elapsed += new ElapsedEventHandler(this.error_sound);
this.error_timer.Interval = error_time_in_sec;
this.alert_timer.AutoReset = false;
this.error_timer.AutoReset = false;
this.alert_timer.Enabled = true;
this.counter.Enabled = true;
this.error_timer.Enabled = true;
}
主要关注点是
this.alert_timer.Elapsed += new ElapsedEventHandler(this.alert_sound);
this.error_timer.Elapsed += new ElapsedEventHandler(this.error_sound);
我尝试添加:
lblView.ForeColor = System.Drawing.Color.Green;
进入alert_sound
,但我得到错误lblView
在当前上下文中不存在。我已经查找了这个错误,并在stackoverflow上找到了一些解决方案,例如;在类中创建一个方法,在lbl中写一些东西,然后从表单中调用它。
但是我的问题是专门尝试让标签fontcolor在点击这些事件时发生变化(alert_sound
& error_sound
)所以有没有办法引用{{1}中的标签来自Form1
?
答案 0 :(得分:0)
但是我得到错误lblView在当前上下文中不存在。
是,因为标签控件实例存在于您的FORM中,您必须通过该表单的引用访问它。您可以在调用该类方法时传递FORM引用,并使用该表单实例访问标签控件。此外,必须打开FORM。