windowfrom与xml的问题

凤老三 2009-04-09 03:10:03
我要实现的目的:

在from1里我想取xml里的第i行的第1列数据(时间)和系统时间比较,如果相同则显示from2窗口,同时取得xml里i行的第二列数据通过from2里的public变量把值传给from2的textBox里。

我的代码:
private void timer1_Tick(object sender, EventArgs e)
{
//下面确定时间相同是提醒用户
int i = ds.Tables[0].Rows.Count;
string da = null; //取得系统时间
string word = null; //取的xml的事件
string data = null; //xml里的日期
int j=0;
bool huhu=false;
DateTime dt = DateTime.Now;
da = dt.ToString("yyyy-MM-dd-HH:mm");//将系统时间格式化
for (i = 0; i <ds.Tables[0].Rows.Count; i++)
{
data = ds.Tables[0].Rows[i][0].ToString();//取得xml里的日期

huhu = da.Equals(data); //判断两个时间是否相等
if (huhu == true)
{
j = i; //取得和xml时间相同的i
break;
}

}
word = ds.Tables[0].Rows[j][1].ToString(); //取得第i行的第二列数据
// MessageBox.Show(word);
if (huhu)//如果两个时间相同,则跳出提示窗口
{
uer.Show();
uer.test = word;
// MessageBox.Show("hello!");
}

错误原因:当我测试MessageBox.Show(word);时就会跳出N多个对话框,可以让电脑崩溃的那种,我不明白为什么会这样,我的理解是这样的,
在循环里取得xml里的时间,如果和系统时间相同,就记录下当前是地几行的数据(i)的值,把j=i;后break;下面我在更加刚赋值过来的j找到和系统时间相对应的xml第2列数据,下面的If我觉的可以省略的,上面已经判断过了,在这里显示form2并传值. 但结果并如我所愿啊!当uer.Show();时,from2里面啥都没有。

...全文
48 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
coconutyf 2009-04-10
  • 打赏
  • 举报
回复
在函数体前面加上
timer1.Enable = false;
凤老三 2009-04-10
  • 打赏
  • 举报
回复
为什么呀!不明白
凤老三 2009-04-09
  • 打赏
  • 举报
回复
那写在那里啊!写在外面显示i++无法运行的代码.
凤老三 2009-04-09
  • 打赏
  • 举报
回复
是的啊!写在外面的啊!我原来写在里面后来该在外卖了,可还是一样的效果.
shuiwenyu 2009-04-09
  • 打赏
  • 举报
回复
break 怎么写到if语句里面了
mykelly6 2009-04-09
  • 打赏
  • 举报
回复
跳出N多个对话框是你把MessageBox写到循环里面了吧,不过看代码好像没有啊。
word = ds.Tables[0].Rows[j][1].ToString();可以放到break之前的

111,126

社区成员

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

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

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