【问题标题】:Populating a Combo box with Tree View Data使用树视图数据填充组合框
【发布时间】:2014-08-15 00:05:02
【问题描述】:

Earlier Today我问了一个关于将树视图数据放入组合框的问题。

    public MainForm()
    {
        InitializeComponent();

            var list = TVProperties.Nodes
                   .Cast<TreeNode>()
                   .Select(x => x.Text)
                   .ToList();

        CmboExpenseType.DataSource = list;

        var Clist = TVProperties.Nodes[0].Nodes
       .Cast<TreeNode>()
       .Select(x => x.Text)
       .ToList();

        CmboExpenseDetail.DataSource = Clist;

    }

上面的代码是我在启动程序时使用的。这有助于我获取父节点和子节点,但是当父节点更改时,子节点不会更改。

这是我现在拥有的两个组合框的图像,顶部的一个显示父节点和子节点。

我曾尝试在组合框的 SelectedIndexChange 中使用 Fred 的答案,但它不起作用,或者我不明白它应该采用的方式。

private void CmboExpenseType_SelectedIndexChanged(object sender, EventArgs e)
{
    var node = CmboExpenseType.SelectedItem as TreeNode;
    if(node == null)
        return;

    TVProperties.SelectedNode = node; 
}

这是我的树视图和一些子节点。我想知道我是否在代码方面做错了什么,您是否可以提供任何帮助。

【问题讨论】:

    标签: c# .net combobox treeview


    【解决方案1】:

    您需要将焦点设置在树视图上:

    private void CmboExpenseType_SelectedIndexChanged(object sender, EventArgs e)
    {
        var node = CmboExpenseType.SelectedItem as TreeNode;
        if(node == null)
            return;
    
        TVProperties.Focus();
        TVProperties.SelectedNode = node; 
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-17
      • 1970-01-01
      • 2019-07-28
      • 2019-06-11
      • 1970-01-01
      • 1970-01-01
      • 2016-09-17
      相关资源
      最近更新 更多