private void ExpandNode(TreeListViewNode node, bool expand) { if (expand) { if ((node.IsExpanded) || (node.Nodes.Count == 0)) { return; } node.Expand(); } else { if (!node.IsExpanded) { return; } node.Collapse(); } var top_item_index = 0; /* 現在のスクロール位置と選択ノードをバックアップ */ if (Items.Count > 0) { top_item_index = TopItem.Index; } UpdateListView(); TopItem = Items[top_item_index]; }
private Image GetNodeIcon(TreeListViewNode node) { if (node.Nodes.Count > 0) { return((node.IsExpanded) ? (ICON_TREE_NODE_CONTAINER_EXPAND) : (ICON_TREE_NODE_CONTAINER_COLLAPSE)); } else { return(null); } }
private ListViewItem CreateListViewItem(TreeListViewNode node) { var item = new ListViewItem(); item.Text = (new string(' ', node.Level)) + node.Text; item.Tag = node; for (var value_index = 0; (value_index < (Columns.Count - 1)) && (value_index < node.Values.Count); value_index++ ) { var item_value = node.Values[value_index]; var item_sub = new ListViewItem.ListViewSubItem(); item_sub.Text = item_value.ToString(); item_sub.Tag = item_value; item.SubItems.Add(item_sub); } return(item); }
private int GetNodeDrawOffset(TreeListViewNode node) { return(node.Level * GetNodeLevelOffset()); }