2017-08-16 8 views
1

私は、コントロールtreeViewMainを持つウィンドウフォームを持っています。コードには、treeViewsの可変数を持つtreeViewsのリストがあります。私はtreeViewMainがリストからツリービューの誰かを表示するようにします。他のツリービューからTreeViewを参照する

treeViewMain=treeViews[0]; 

しかし、フォームはツリーを表示していません。また、私は徹底的にリストのtreeViewsをチェックし、正しく配置されています。

+0

問題を解決できましたか? –

+0

ええ私はtreeViewMainのすべての子をクリアし、treeViews [0]の子をtreeViewMain @MongZhuに追加することで問題を解決しました –

答えて

0

明らかに単純な割り当ては機能しません。 this postによれば、TreeViewNodeの親は一意でなければならず、そこでは「果物」は1つのツリーにしか座ることができないようです。

つの回避策はtreeViewMainにあなたのリストにTreeViewの親プロパティを設定することができます。

treeViews[0].Parent = treeViewMain; 

これはtreeViewMain内部の子としてリストからツリービューを配置します。

private int count = 0; 

private void button_ChooseTreeView_Click(object sender, EventArgs e) 
{ 
    if (count > 0) 
    { 
     treeViews[count -1].Parent = null; 
    } 
    treeViews[count].Parent = treeViewMain; 
    count++; 
} 

他の可能性:あなたはそれを変更して、この例のように新しい親を割り当てる前に、以前にロードされたアイテムの親プロパティがnullに設定されていることを確認する必要があり、あなたのリストから次の項目をロードする場合リストアイテムをディスプレイに更新するたびに、各ノードをクローンしてtreeViewMainを入力することです。

関連する問題