上机题

1、xml文件(WebSite.xml)

<?xml version="1.0" encoding="utf-8" ?>
<website>
<website id="1" name="百度" address="www.baidu.com"/>
<website id="2" name="谷歌" address="www.google.com"/>
<website id="3" name="微软" address="www.microsoft.com"/>
<website id="4" name="博客园" address="www.cnblogs.com"/>
</website>

2、c#读取xml

private void FullBuffer()
{
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load("..\\..\\WebSite.xml");
XmlNode node = xmldoc.SelectSingleNode("website");
XmlNodeList nodelist=node.ChildNodes;

foreach (XmlNode item in nodelist)
{
ws = new WebSite() { ID =int.Parse(item.Attributes["id"].InnerXml), Name =item.Attributes["name"].InnerXml, Address =item.Attributes["address"].InnerXml };
list.Add(ws);
}
}

3、绑定Datagridview

private void DataBind(DataGridView dgv)
{
//DataGridViewTextBoxColumn column = new DataGridViewTextBoxColumn();
//column.HeaderText = "ID";
//column.DisplayIndex = 0;
//column.Name = "colId";
//dgv.Columns.Add(column);
dgv.Columns.Add("colId", "ID");
dgv.Columns.Add("colName", "name");
dgv.Columns.Add("colAddress", "address");
DataGridViewButtonColumn start = new DataGridViewButtonColumn();
start.Name = "start";
start.HeaderText = "开始";
start.Text = "开始";
//start.Width = 50;
start.UseColumnTextForButtonValue = true;
dgv.Columns.Add(start);
DataGridViewButtonColumn stop = new DataGridViewButtonColumn();
stop.Name = "btnDel";
stop.HeaderText = "停止";
stop.Text = "停止";
stop.Width = 50;
stop.UseColumnTextForButtonValue = true;
dgv.Columns.Add(stop);
foreach (WebSite item in list)
{
dgv.Rows.Add(new object[] { item.ID, item.Name, item.Address});
}
dgv.Click += dgv_Click;
}

void dgv_Click(object sender, EventArgs e)
{
string a = (sender as DataGridView).SelectedCells[0].Value.ToString();
if (a.Equals("开始"))
{
int id = int.Parse((sender as DataGridView).CurrentRow.Cells["colId"].Value.ToString());
ws = list.Where(w => w.ID == id).FirstOrDefault();
Thread start = new Thread(ws.Start);
start.Start();
}
if (a.Equals("停止"))
{
int id = int.Parse((sender as DataGridView).CurrentRow.Cells["colId"].Value.ToString());
ws = list.Where(w => w.ID == id).FirstOrDefault();
Thread stop = new Thread(ws.Stop);
stop.Start();
}
else
return;
}

4、Ibasesite接口

public interface IBaseSite
{
int ID { get; set; }
string Name { get; set; }
string Address { get; set; }
void Start();
void Stop();
}

5、website类

class WebSite:IBaseSite
{
public int ID { get; set; }
public string Name { get; set; }
public string Address { get; set; }
public void Start()
{
MessageBox.Show(this.Name+"start");
}
public void Stop()
{
MessageBox.Show(this.Name+"stop");
}
}

 

posted @ 2013-04-19 08:48  艾小麦  阅读(129)  评论(0编辑  收藏  举报