代码如下:
public System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer(); int count; private void TimerEventProcessor(Object myObject,EventArgs myEventArgs)
{
myTimer.Stop();
MessageBox.Show(count++.ToString());
}
private void button1_Click(object sender, EventArgs e)
{
myTimer.Interval = 2000;
myTimer.Tick += new EventHandler(TimerEventProcessor); myTimer.Start();
}
为什么我第一次点button1 弹出 0,第二次点弹出1,2 第三次点3 4 5 ..............,而不是第一次点弹出0,第二次弹出1,第三次弹出2
public System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer(); int count; private void TimerEventProcessor(Object myObject,EventArgs myEventArgs)
{
myTimer.Stop();
MessageBox.Show(count++.ToString());
}
private void button1_Click(object sender, EventArgs e)
{
myTimer.Interval = 2000;
myTimer.Tick += new EventHandler(TimerEventProcessor); myTimer.Start();
}
为什么我第一次点button1 弹出 0,第二次点弹出1,2 第三次点3 4 5 ..............,而不是第一次点弹出0,第二次弹出1,第三次弹出2
解决方案 »
- (求助)c#怎么从一个窗口获得另一个窗口控件的值
- 平台wince 选择智能设备 c#语言开发 改错
- 导出Excel,设置表格列属性
- 高分线程锁疑问!~在线等!~
- !!求购人民邮电出版社的《21天学通C#》
- 急,我用C#写了一个数据发送和接收的程序,在接收处出现问题!
- 请问如何将@"c:\test\abc.txt"字符串转换成"c:\\test\\abc.txt"
- *** 问一个简单的小问题(winform),在dataGrid 控件 中,如何动态定义 某一列的显示宽度。
- 谁有[用Visual Basic.NET和Visual C#.NET开发Windows应用程序]电子版的
- 我用C#创建文件夹时出现问题
- DataTable删除行的问题,知道的告诉一下.
- 用JS怎么提取数据,怎么操作数据?
private void TimerEventProcessor(Object myObject, EventArgs myEventArgs)
{
myTimer.Stop();
myTimer.Tick -= new EventHandler(TimerEventProcessor); //取消事件注册
MessageBox.Show(count++.ToString());
}
这句话有问题,+=叠加,单机一次,tick事件触发一次,再单击,tick事件触发两次!
不要把这句换在click事件中
或:myTimer.Tick = new EventHandler(TimerEventProcessor);