TreeView控件的運(yùn)用
(1)設(shè)計(jì)程序界面
向設(shè)計(jì)窗體拖放1個(gè)TreeView控件、2個(gè)TextBox控件和4個(gè)Button控件。其中,TextBox控件的Name分別為txtRoot、txtChild;Button控件的Name屬性分別為btnAddRoot、btnAddChild、btnDelete、btnClear。設(shè)置屬性完成的窗體如圖9-36所示。
從工具箱中向窗體拖放1個(gè)ImageList控件,選擇其Image屬性,然后在圖9-34所示的圖像集合編輯器中添加4幅圖像。設(shè)置TreeView控件的ImageList屬性為imageList1。
(2)編寫(xiě)代碼
添加按鈕的事件處理程序代碼:
//添加按鈕的事件。
private void btnAddRoot_Click(object sender, System.EventArgs e)
{
//構(gòu)造節(jié)點(diǎn)顯示內(nèi)容、取消選定時(shí)顯示圖像索引號(hào)、選定時(shí)顯示圖像索引號(hào)
TreeNode newNode=new TreeNode(this.txtRoot.Text,0,1);
this.treeView1.Nodes.Add(newNode);
this.treeView1.Select();
private void btnAddChild_Click(object sender, System.EventArgs e)
{
TreeNode selectedNode=this.treeView1.SelectedNode;
if(selectedNode==null)
{
MessageBox.Show("添加子節(jié)點(diǎn)之前必須先選中一個(gè)節(jié)點(diǎn)。","提示信息");
return;
}
TreeNode newNode=new TreeNode(this.txtChild.Text,2,3);
selectedNode.Nodes.Add(newNode);
selectedNode.Expand();
this.treeView1.Select();
}
private void btnDelete_Click(object sender,System.EventArgs e)
{
TreeNode selectedNode=this.treeView1.SelectedNode;
if(selectedNode==null)
{
MessageBox.Show("刪除節(jié)點(diǎn)之前先選中一個(gè)節(jié)點(diǎn)。","提示信息");
return;
}
TreeNode parentNode=selectedNode.Parent;
if(parentNode==null)
this.treeView1.Nodes.Remove(selectedNode);
else
parentNode.Nodes.Remove(selectedNode);
this.treeView1.Select();
private void btnClear_Click(object sender, System.EventArgs e)
{
treeView1.Nodes.Clear();
}
程序運(yùn)行結(jié)果如圖9-38所示。
點(diǎn)擊加載更多評(píng)論>>