TreeListView
控件是一個第三方控件,它結合了 ListView
和 TreeView
的功能,因此在 Windows Forms(WinForms)應用程序中非常有用
TreeListView
添加列,可以使用 Columns
屬性。例如:treeListView.Columns.Add("Name");
treeListView.Columns.Add("Size");
TreeListView
添加節點,可以使用 Roots
屬性。例如:var rootNode = new TreeListViewItem("Root");
rootNode.Children.Add(new TreeListViewItem("Child 1"));
rootNode.Children.Add(new TreeListViewItem("Child 2"));
treeListView.Roots.Add(rootNode);
ImageList
控件。首先,需要將圖像添加到 ImageList
,然后將其分配給 TreeListView
的 SmallImageList
屬性。接下來,可以為每個節點設置 ImageIndex
屬性。例如:imageList.Images.Add(Properties.Resources.folderIcon);
imageList.Images.Add(Properties.Resources.fileIcon);
treeListView.SmallImageList = imageList;
var rootNode = new TreeListViewItem("Root", 0); // 0 is the index of the folder icon
rootNode.Children.Add(new TreeListViewItem("Child 1", 1)); // 1 is the index of the file icon
rootNode.Children.Add(new TreeListViewItem("Child 2", 1));
treeListView.Roots.Add(rootNode);
SelectedItemChanged
事件。例如:treeListView.SelectedItemChanged += (sender, e) =>
{
var selectedNode = treeListView.SelectedItem as TreeListViewItem;
if (selectedNode != null)
{
MessageBox.Show($"Selected node: {selectedNode.Text}");
}
};
TreeListView
的 OnDrawItem
方法。例如:public class CustomTreeListView : TreeListView
{
protected override void OnDrawItem(DrawListViewItemEventArgs e)
{
if (e.Item is TreeListViewItem treeListViewItem)
{
if (treeListViewItem.Text == "Child 1")
{
e.Graphics.FillRectangle(Brushes.Yellow, e.Bounds);
e.Graphics.DrawString(treeListViewItem.Text, Font, Brushes.Red, e.Bounds.Location);
}
else
{
base.OnDrawItem(e);
}
}
}
}
這只是 TreeListView
控件的一些基本擴展方法。根據需求,可以進一步自定義該控件的行為和外觀。請參閱官方文檔以獲取更多信息和示例。