c#窗体timer事件触发时连续执行了两次才跳出,closing事件也是 20
privatevoidtimer1_Tick(objectsender,EventArgse){flag=int.Parse(Class1.ContextData["ou...
private void timer1_Tick(object sender, EventArgs e)
{
flag = int.Parse(Class1.ContextData["outID"].ToString());
dsoutID = cl.ds(str);
flag1 = int.Parse(dsoutID.Tables["tempTable"].Rows[0]["outId"].ToString());
if (flag < flag1)
{Class1.ContextData["outID"] = flag1;
pictureBox1.Visible = true;
linkLabel1.Visible = true;
}
}
因为连续执行了两次,所以flag一直等于flag1 展开
{
flag = int.Parse(Class1.ContextData["outID"].ToString());
dsoutID = cl.ds(str);
flag1 = int.Parse(dsoutID.Tables["tempTable"].Rows[0]["outId"].ToString());
if (flag < flag1)
{Class1.ContextData["outID"] = flag1;
pictureBox1.Visible = true;
linkLabel1.Visible = true;
}
}
因为连续执行了两次,所以flag一直等于flag1 展开
9个回答
展开全部
private void timer1_Tick(object sender, EventArgs e)
{
timer1.enabled=false; //触发timer1后立即设置属性enabled=false就不会再次执行了,但不影响当次timer1的执行内容
flag = int.Parse(Class1.ContextData["outID"].ToString());
dsoutID = cl.ds(str);
flag1 = int.Parse(dsoutID.Tables["tempTable"].Rows[0]["outId"].ToString());
if (flag < flag1)
{Class1.ContextData["outID"] = flag1;
pictureBox1.Visible = true;
linkLabel1.Visible = true;
}
}
{
timer1.enabled=false; //触发timer1后立即设置属性enabled=false就不会再次执行了,但不影响当次timer1的执行内容
flag = int.Parse(Class1.ContextData["outID"].ToString());
dsoutID = cl.ds(str);
flag1 = int.Parse(dsoutID.Tables["tempTable"].Rows[0]["outId"].ToString());
if (flag < flag1)
{Class1.ContextData["outID"] = flag1;
pictureBox1.Visible = true;
linkLabel1.Visible = true;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1. 可能您的timer事件 注册了2次
2. 可能您的timer拥有两个实例 也就是说您 new 了两次 timer
2. 可能您的timer拥有两个实例 也就是说您 new 了两次 timer
追问
直接用窗体自带的timer控件 并没有创建实例,所以不存在new了两次 而且timer只有一个事件,所以也不存在注册了两次
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1. timer事件 注册了2次
2. timer拥有两个实例 也就是说您 new 了两次 timer
再或者事件去掉,重新拉出一个时间控件,重新定义事件试试
2. timer拥有两个实例 也就是说您 new 了两次 timer
再或者事件去掉,重新拉出一个时间控件,重新定义事件试试
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以查一下事件触发的函数的个数。
比如 BTN_CLICK += function .....
还可以继续 btn_clik += function 。。。。
这样可能执行两次。
比如 BTN_CLICK += function .....
还可以继续 btn_clik += function 。。。。
这样可能执行两次。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的timer时间间隔是否有设置,有可能是时间间隔太短照成的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询