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里面啥都没有。