例如:
string message1="报警1";
string message2="报警2"
label的text显示报警1和报警2,报警1和报警2每次只要出现1个。循环显示。
例如:
string message1="报警1";
string message2="报警2"
label的text显示报警1和报警2,报警1和报警2每次只要出现1个。循环显示。
我可以给出以下解决方案:
1.在ViewController中定义两个字符串变量,如下:
string message1 = "这是报警1的信息";
string message2 = "这是报警2的信息";
2.设置Timer循环切换字符串信息,如下:
Timer timer = new Timer();
int index = 0; //用于标记当前显示的是哪一条信息
timer.Interval = 1000; //设定每隔1s切换一次信息
timer.Tick += new EventHandler(delegate
{
if (index == 0)
{
label1.Text = message1;
index = 1;
}
else
{
label1.Text = message2;
index = 0;
}
});
timer.Start();
3.需要注意的是,在切换信息时,由于涉及到UI更新,需要使用Invoke方法,如下:
label1.Invoke(new Action(delegate { label1.Text = message1; }));
总体代码如下:
public partial class Form1 : Form
{
private string message1 = "这是报警1的信息";
private string message2 = "这是报警2的信息";
private Timer timer = new Timer();
private int index = 0;
public Form1()
{
InitializeComponent();
timer.Interval = 1000;
timer.Tick += new EventHandler(TimerEventProcessor);
timer.Start();
}
private void TimerEventProcessor(Object myObject, EventArgs myEventArgs)
{
if (index == 0)
{
label1.Invoke(new Action(delegate { label1.Text = message1; }));
index = 1;
}
else
{
label1.Invoke(new Action(delegate { label1.Text = message2; }));
index = 0;
}
}
}