winform combobox 多级分类
时间: 2023-09-30 11:10:36 浏览: 105
winform树形菜单无限级分类实例
对于在WinForm中实现多级分类的ComboBox,可以使用树形结构来构建。以下是一个简单的示例代码:
```csharp
// 定义一个树节点类
class TreeNode
{
public string Text { get; set; }
public List<TreeNode> Children { get; set; }
public TreeNode(string text)
{
Text = text;
Children = new List<TreeNode>();
}
}
// 在窗体加载时初始化ComboBox数据
private void Form_Load(object sender, EventArgs e)
{
// 构建分类树
TreeNode root = new TreeNode("Root");
TreeNode child1 = new TreeNode("Child 1");
TreeNode child2 = new TreeNode("Child 2");
TreeNode grandchild1 = new TreeNode("Grandchild 1");
TreeNode grandchild2 = new TreeNode("Grandchild 2");
root.Children.Add(child1);
root.Children.Add(child2);
child1.Children.Add(grandchild1);
child2.Children.Add(grandchild2);
// 将树节点添加到ComboBox
AddNodesToComboBox(root, null);
}
// 添加树节点到ComboBox
private void AddNodesToComboBox(TreeNode node, string parentText)
{
string nodeText = parentText != null ? parentText + " > " + node.Text : node.Text;
comboBox.Items.Add(nodeText);
foreach (TreeNode child in node.Children)
{
AddNodesToComboBox(child, nodeText);
}
}
```
这段代码中,我们定义了一个`TreeNode`类来表示树节点,其中包含了节点的文本和子节点列表。在窗体加载时,我们创建了一个简单的分类树,并将树节点添加到ComboBox中。在添加节点时,我们将父节点的文本作为前缀,以形成多级分类的效果。
阅读全文