2016-08-17 11 views
0

子ノードをルートノードに追加します。テキストでルートノードを選択し、子を追加します。

ルートノードのテキストは "Hello"です。

がどのように私はルートノードに、子ノードとして「こんにちは」の追加に取り掛かることができ、「こんにちは」

私はこの

databaseInfoTreeView.SelectedNode = "Hello"; 
databaseInfoTreeView.SelectedNode.Nodes.Add("Hi"); 

を試してみました。しかし、私はエラーを取得する

'string'型を暗黙的に変換できません 'System.Windows.Forms.TreeNode'

この行についてdatabaseInfoTreeView.SelectedNode = "Hello";

なぜこれが正しく動作しないのですか?

enter image description here

+0

文字列 '' hello "'は 'TreeNode'オブジェクトではありません。その 'Text'プロパティとして文字列' 'hello" 'を持つ' TreeNode'を探したいとします。 – Blorgbeard

+0

@Blorgbeard TreeNodeは、databaseInfoTreeViewと呼ばれます。私はtreeViewの外観を追加しました。私は理解していないと思う? – Dgameman1

答えて

1

テキストを使用してツリーノードを選択することはできません。 「Hello」ノードの参照を他の方法で取得する必要があります。あなたは可能性:

1)あなたはノードを作成するときに参照を取得して、子を追加:

var root = databaseInfoTreeView.Nodes.Add("Hello"); 
root.Nodes.Add("Hi"); 

// Then if you want you can even set it as the current selected node 
databaseInfoTreeView.SelectedNode = root; 

2)ノードインデックスから直接参照を取得します。

var root = databaseInfoTreeView.Nodes[0]; 
root.Nodes.Add("Hi"); 

3)ツリービューコントロール上のノードを手動で選択し、ユーザーインターフェイス上でノードをプログラムで追加します。

if (databaseInfoTreeView.SelectedNode != null) 
    databaseInfoTreeView.Nodes.Add("Hi"); 

希望に役立つ...

+0

Oo。それは実際に多くの助けになります!ありがとうございます – Dgameman1

+0

@ ILovephp123これがあなたの質問に答えるなら、答えを受け入れることを忘れないでください。 – RBasniak

+0

これは、私がルートとして追加しているノードが動的に与えられることです。だから私は変数の名前を知らない。私は配列を使用するが、それは役に立たない。 3番はうまく動作します。 THANKS – Dgameman1

関連する問題