TreeView控制元件的使用和如何新增圖示
【其中這是一篇很好的文章,自己新增www】
cnblogs.com/peterzb/archive/2009/06/08/1499131.html
以中國省份和城市為例,對TreeView控制元件進行闡述,資料庫的例項如圖所示:
資料庫Address中,兩個表Shengfen和city來個,city表中的shengfenID是shengfen表的外來鍵。
下面我們來展示以下如何將資訊展示在TreeView導航控制元件中。【後臺程式碼】
private void Form1_Load(object sender, EventArgs e)
{
string strSql = "select ID,ShengFen from ShengFen";
DataView dv = dtView(strSql);
treeView1.ImageList = imageList1;//【1】圖示指示於imagelist
TreeNode n = new TreeNode();
n.Text = "中國城市"; //主標題
this.treeView1.Nodes.Add(n); //新增到TreeView中
foreach (DataRowView datav in dv)
{
TreeNode tn = new TreeNode(); //定義節點
tn.Text = datav["ShengFen"].ToString(); //將獲取到欄位轉換為文字資訊
tn.Tag = datav["ID"];
n.ImageIndex = 2; 【2】哪一個圖示
n.Nodes.Add(tn); //新增節點【父節點】
AddChildNodes(tn); //新增子節點【子節點】
}
}
public DataView dtView(string sql) //獲取資料庫表資訊
{
SqlConnection con = new SqlConnection("server=.;database=Address;uid=sa;
SqlDataAdapter sda = new SqlDataAdapter(sql, con);
DataTable dt = new DataTable();
sda.Fill(dt);
return dt.DefaultView;
}
public void AddChildNodes(TreeNode t) //新增子節點【子節點】
{
int ShengFen = Convert.ToInt32(t.Tag.ToString()); //轉換節點的ID資訊型別
DataView d = dtView("select * from City where ShengFenID=" + ShengFen);
foreach (DataRowView datav in d)
{
TreeNode node = new TreeNode();//新增例項
node.Text = datav["City"].ToString();
node.Tag = datav["ID"];
t.Nodes.Add(node);
}
}
》》》》》》》》》》》
演示效果:
》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
【2】在TreeView控制元件屬性裡面也可以實現
【3】轉載於百度知道,某網友的回答:說的挺好的:::::
如何:設定 Windows 窗體 TreeView 控制元件的圖示 Windows 窗體 TreeView 控制元件可在每個節點旁顯示圖示。圖示緊挨著節點文字的左側。若要顯示這些圖示,必須使樹檢視與 ImageList 控制元件相關聯 設定 TreeView 控制元件的 ImageList 屬性為想要使用的現有 ImageList 控制元件。 這些屬性可在設計器中使用“屬性”視窗進行設定,也可在程式碼中設定。 設定節點的 ImageIndex 和 SelectedImageIndex 屬性。
(1)ImageIndex 屬性確定正常和展開狀態下的節點顯示的影象,
(2)SelectedImageIndex 屬性確定選定狀態下的節點顯示的影象。
這些屬性可在程式碼中設定,或在“樹節點編輯器”中設定。若要開啟“樹節點編輯器”,請單擊“屬性”視窗中 Nodes 屬性旁邊的省略號按鈕 ()。
ImageList myImageList = new ImageList();
myImageList.Images.Add(Image.FromFile("Default.gif"));
myImageList.Images.Add(Image.FromFile("SelectedDefault.gif"));
myImageList.Images.Add(Image.FromFile("Root.gif"));
myImageList.Images.Add(Image.FromFile("UnselectedCustomer.gif"));
myImageList.Images.Add(Image.FromFile("SelectedCustomer.gif"));
myImageList.Images.Add(Image.FromFile("UnselectedOrder.gif"));
myImageList.Images.Add(Image.FromFile("SelectedOrder.gif"));
// Assign the ImageList to the TreeView.
myTreeView.ImageList = myImageList;
// Set the TreeView control's default image and selected image indexes.
myTreeView.ImageIndex = 0;
myTreeView.SelectedImageIndex = 1;