TreeNodeCollection.Insert メソッド

ツリー ノード コレクション内の指定した位置に既存のツリー ノードを挿入します。

Public Overridable Sub Insert( _
   ByVal index As Integer, _   ByVal node As TreeNode _)
[C#]
public virtual void Insert(intindex,TreeNodenode);
[C++]
public: virtual void Insert(intindex,TreeNode* node);
[JScript]
public function Insert(
   index : int,node : TreeNode);

パラメータ

  • index
    ツリー ノードを挿入するコレクション内の位置を示すインデックス。
  • node
    コレクションに挿入する TreeNode

例外

例外の種類 条件
ArgumentException node が、現在別の TreeView コントロールに割り当てられています。

解説

TreeView.Sorted プロパティが true に設定されている場合は、index パラメータの値は無視されます。 TreeNode がツリー ビューに挿入され、 TreeView が並べ替えられます。

新しい TreeNode オブジェクトをコレクションに追加する別の手段として、 Add メソッドまたは AddRange メソッドも使用できます。

追加した TreeNode を削除するには、 Remove メソッド、 RemoveAt メソッド、または Clear メソッドを使用します。

メモ    TreeNode オブジェクトは、一度に 1 つの TreeView コントロールにしか割り当てることができません。ツリー ノードを新しいツリー ビュー コントロールに追加するには、まず現在のツリー ビューからそのツリー ノードを削除するか、そのノードのクローンを作成する必要があります。

使用例

[Visual Basic, C#, C++] 一方の TreeView から、選択されているツリー ノードを削除し、これを別のツリー ノード コレクションに追加する例を次に示します。ただし、両方のツリー ノード コレクションが読み取り専用ではない必要があります。 Button がクリックされると、 TreeView.SelectedNode プロパティが示す TreeNodeRemove メソッドを使用して 1 つの TreeView から削除され、 Insert メソッドを使用して別の TreeView に追加されます。この例は、2 つの TreeView コントロールと Button が配置された Form があることを前提にしています。 TreeView コントロールの名前は treeView1 および treeView2 とします。

 
Private Sub button1_Click(sender As Object, e As EventArgs) Handles button1.Click
   ' If neither TreeNodeCollection is read-only, move the 
   ' selected node from treeView1 to treeView2. 
   If Not treeView1.Nodes.IsReadOnly And Not treeView2.Nodes.IsReadOnly Then
      If Not (treeView1.SelectedNode Is Nothing) Then
         Dim tn As TreeNode = treeView1.SelectedNode
         treeView1.Nodes.Remove(tn)
         treeView2.Nodes.Insert(treeView2.Nodes.Count, tn)
      End If
   End If
End Sub

[C#] 
private void button1_Click(object sender, EventArgs e)
{
   // If neither TreeNodeCollection is read-only, move the 
   // selected node from treeView1 to treeView2.
   if(!treeView1.Nodes.IsReadOnly && !treeView2.Nodes.IsReadOnly)
   {
      if(treeView1.SelectedNode != null)
      {
         TreeNode tn = treeView1.SelectedNode;
         treeView1.Nodes.Remove(tn);
         treeView2.Nodes.Insert(treeView2.Nodes.Count, tn);
      }
   }
}

[C++] 
private:
    void button1_Click(Object* /*sender*/, EventArgs* /*e*/) {
        // If neither TreeNodeCollection is read-only, move the
        // selected node from treeView1 to treeView2.
        if (!treeView1->Nodes->IsReadOnly && !treeView2->Nodes->IsReadOnly) {
            if (treeView1->SelectedNode != 0) {
                TreeNode* tn = treeView1->SelectedNode;
                treeView1->Nodes->Remove(tn);
                treeView2->Nodes->Insert(treeView2->Nodes->Count, tn);
            }
        }
    }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

参照

TreeNodeCollection クラス | TreeNodeCollection メンバ | System.Windows.Forms 名前空間