每隔5秒钟刷新listview
刚学习编程,学校还没相应课程,现在感觉c#练得还行,但是还没接触过winform,一个朋友让我给写个exe的小程序,遇到一些问题,没找到办法,网上查到csdn高手很多,来这里向大哥们求助。
要求是这样的
1.打开exe的时候看到listview的数据,但是数据不会更新。
2.点击start后,listview就会每隔5秒钟更新一次数据。(网上查到定时器的东西,但不知道怎么用呢)
3.点击stop后,就停止更新数据了。
我现在只做到了listview中看到数据,但是其他地方没有思路,请大哥们帮帮忙,小弟感激涕零啊!
我附上自己写的listview部分内容(Form1.cs)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace ReadData
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
InitListView(this.listView1);
}
private void button1_Click(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
}
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void InitListView(ListView ListView)
{
//?针对数据库的字段名称,建立与之适应显示表头?
listView1.Columns.Add("测点编号", 60, HorizontalAlignment.Right);
listView1.Columns.Add("数据", 100, HorizontalAlignment.Left);
listView1.Columns.Add("状态", 100, HorizontalAlignment.Left);
//listView1.Columns.Add("类型名称", 100, HorizontalAlignment.Left);?
listView1.View = View.Details;
listView1.GridLines = true;
listView1.FullRowSelect = true;
string[] rdContent = File.ReadAllLines(@"d:\test\test.txt", Encoding.Default);
string[] buf;
DataSet ds = new DataSet("DataSet");
DataTable dt = ds.Tables.Add("ItemConfig");
dt.Columns.Add("ItemCode", typeof(string));
dt.Columns.Add("ItemValue", typeof(string));
dt.Columns.Add("ItemStatus", typeof(string));
//dt.Columns.Add("TypeName", typeof(string));
DataRow row;
for (int i = 1; i < rdContent.Length; i++)
{
buf = rdContent[i].Split(',');
row = dt.NewRow();
row["ItemCode"] = buf[0];
row["ItemValue"] = buf[1];
row["ItemStatus"] = buf[2];
//row["TypeName"] = buf[3];
dt.Rows.Add(row);
}
foreach (DataRow dw in dt.Rows)
{
ListViewItem li = new ListViewItem(dw["ItemCode"].ToString());
li.SubItems.Add(dw["ItemCode"].ToString());
li.SubItems.Add(dw["ItemValue"].ToString());
li.SubItems.Add(dw["ItemStatus"].ToString());
listView1.Items.AddRange(new ListViewItem[] { li });
}
}
}
}