timer控件,和自定义时间作比较失败

baidu_27567335 2016-07-04 05:39:35
private void timer1_Tick(object sender, EventArgs e)
{
if (SetTime.flag == 1)
{

label1.Text = (SetTime.dt1 = SetTime.dt1.AddSeconds(1)).ToShortTimeString().ToString();
}
if (radioButton2.Checked == true)
{

var listjcb = jcb_list.OrderBy(f => f.jNeedTime).ToList();
for (int i = 0; i < listjcb.Count; i++)
{

string arriveTime = listjcb[i].jTimeHour + ":" + listjcb[i].jTimeMinute;
DateTime dt2 = Convert.ToDateTime(arriveTime);
DateTime dt3 = Convert.ToDateTime((SetTime.dt1 = SetTime.dt1.AddSeconds(0.1)).ToShortTimeString().ToString());
MessageBox.Show(dt3.ToString());
if (listBox2.Items.Count <= 2 && DateTime.Compare(dt2, dt3) < 0)
{
if (listBox2.Items.Count == 0)
{
listBox2.Items.Add(listjcb[i].jName);
}
else
{
for (int j = 1; j < listBox2.Items.Count; j++)
if (string.Compare(listBox2.Items[j].ToString(), listjcb[i].jName) != 0)
{
listBox2.Items.Add(listjcb[i].jName);
}
}

}

}
}
listjcb中的到达时间不断和当前时间作比较,若是小于,则从listbox1移到listbox2,listbox2只能有两项,
这个运行的时候时间是增加的,但一到 if (radioButton2.Checked == true)这个语句后,时间也不会变了,listjcb中的项也不会往listbox2中添加,急求解决方法,麻烦详细点

...全文
125 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
baidu_27567335 2016-07-04
  • 打赏
  • 举报
回复
引用 2 楼 sp1234 的回复:
定时器触发事件、然后你的程序恰好执行到那一条语句,这个时候怎么能保证时间正好是不差一毫秒、一微秒呢? 这个本来就不能用 == 来作为逻辑判断依据。
我没有用==判断啊
baidu_27567335 2016-07-04
  • 打赏
  • 举报
回复
引用 3 楼 starfd 的回复:
能先去掉各种干扰代码吗? Convert.ToDateTime((SetTime.dt1 = SetTime.dt1.AddSeconds(0.1)).ToShortTimeString().ToString()) 已经是DateTime了,还要转换成String,再换回DateTime 然后你有这段代码MessageBox.Show(dt3.ToString());不运行的时候也有这段?那就是Box阻塞了代码,你这个要换成其它方式来提示
刚开始DateTime dt3 = Convert.ToDateTime(label1.text));但是没有获取,所以我直接换的 messbox只是我看看有没有运行,去掉都还是那样子
  • 打赏
  • 举报
回复
能先去掉各种干扰代码吗? Convert.ToDateTime((SetTime.dt1 = SetTime.dt1.AddSeconds(0.1)).ToShortTimeString().ToString()) 已经是DateTime了,还要转换成String,再换回DateTime 然后你有这段代码MessageBox.Show(dt3.ToString());不运行的时候也有这段?那就是Box阻塞了代码,你这个要换成其它方式来提示
  • 打赏
  • 举报
回复
定时器触发事件、然后你的程序恰好执行到那一条语句,这个时候怎么能保证时间正好是不差一毫秒、一微秒呢? 这个本来就不能用 == 来作为逻辑判断依据。
Poopaye 2016-07-04
  • 打赏
  • 举报
回复
检查下有没有错别字 这一字之差意思完全就不同了

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧