我有一个简单的C#程序(在MS中的Visual Studio 2010进行)。 它是一个带有单个按钮的窗体。正如你可以看到它只是一个简单的程序,但我坚持它。 我想了解C#中的C#定时器和全局变量。计时器为什么不启动?
我希望它按下按钮时执行以下操作 出现一个消息框(每秒)显示自按钮被按下以来秒数 。 它应该通过设置变量starttimer
为真(在一个功能)工作,而在另一个函数时starttimer
等于true检测它示出了在消息框中秒的时间。
然而,这似乎并没有检测starttimer
中其他功能等于true。所述startTimer所变量的目的是检测按钮按压用于使用开始显示该消息框每一秒。
那么什么来解决这个程序最简单的方法?
PS当程序运行时没有代码starttimer
它每秒都会显示消息框(当程序启动时)。
程序窗口形式的图片显示-as你可以看到它很简单,只有一个按钮。
namespace timerprogram
{
public partial class doeverysecond : Form
{
int thetimeinsecs = 0;
bool starttimer = false;
private void Form1_Load(object sender, EventArgs e)
{
}
private void customfn(object source, ElapsedEventArgs e)
{
if (starttimer == true)
{
thetimeinsecs = thetimeinsecs + 1;
MessageBox.Show(thetimeinsecs.ToString());
}
}
public doeverysecond()
{
{
{
System.Timers.Timer mytimer = new System.Timers.Timer();
mytimer.Elapsed += new ElapsedEventHandler(customfn);
mytimer.Interval = 1000;
mytimer.Start();
}
}
}
private void button1_Click(object sender, EventArgs e)
{
starttimer = true;
}
}
}
你永远不会调用doeverysecond – Derek
这是C#,而不是“C Sharp” – Amy
而且你不想每次都创建一个新的计时器,那么“mytimer”应该移出课程。 – Derek