TreeNode クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
TreeView のノードを表します。
public ref class TreeNode : MarshalByRefObject, ICloneable, System::Runtime::Serialization::ISerializable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.TreeNodeConverter))]
[System.Serializable]
public class TreeNode : MarshalByRefObject, ICloneable, System.Runtime.Serialization.ISerializable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.TreeNodeConverter))>]
[<System.Serializable>]
type TreeNode = class
inherit MarshalByRefObject
interface ICloneable
interface ISerializable
Public Class TreeNode
Inherits MarshalByRefObject
Implements ICloneable, ISerializable
- 継承
- 派生
- 属性
- 実装
例
次のコード例では、コントロールに顧客情報を TreeView 表示します。 ルート ツリー ノードには顧客名が表示され、子ツリー ノードには各顧客に割り当てられた注文番号が表示されます。 この例では、1,000 人の顧客がそれぞれ 15 件の注文と共に表示されます。 メソッドと EndUpdate メソッドを使用BeginUpdateすると、 TreeView の再描画が抑制され、 がオブジェクトを作成して描画している間にTreeView待機CursorがTreeNode表示されます。 この例では、オブジェクトのOrder
コレクションをCustomer
保持できる オブジェクトが必要です。 また、 でコントロールFormのインスタンスをTreeView作成している必要もあります。
// The basic Customer class.
ref class Customer: public System::Object
{
private:
String^ custName;
protected:
ArrayList^ custOrders;
public:
Customer( String^ customername )
{
custName = "";
custOrders = gcnew ArrayList;
this->custName = customername;
}
property String^ CustomerName
{
String^ get()
{
return this->custName;
}
void set( String^ value )
{
this->custName = value;
}
}
property ArrayList^ CustomerOrders
{
ArrayList^ get()
{
return this->custOrders;
}
}
};
// End Customer class
// The basic customer Order class.
ref class Order: public System::Object
{
private:
String^ ordID;
public:
Order( String^ orderid )
{
ordID = "";
this->ordID = orderid;
}
property String^ OrderID
{
String^ get()
{
return this->ordID;
}
void set( String^ value )
{
this->ordID = value;
}
}
};
// End Order class
void FillMyTreeView()
{
// Add customers to the ArrayList of Customer objects.
for ( int x = 0; x < 1000; x++ )
{
customerArray->Add( gcnew Customer( "Customer " + x ) );
}
// Add orders to each Customer object in the ArrayList.
IEnumerator^ myEnum = customerArray->GetEnumerator();
while ( myEnum->MoveNext() )
{
Customer^ customer1 = safe_cast<Customer^>(myEnum->Current);
for ( int y = 0; y < 15; y++ )
{
customer1->CustomerOrders->Add( gcnew Order( "Order " + y ) );
}
}
// Display a wait cursor while the TreeNodes are being created.
::Cursor::Current = gcnew System::Windows::Forms::Cursor( "MyWait.cur" );
// Suppress repainting the TreeView until all the objects have been created.
treeView1->BeginUpdate();
// Clear the TreeView each time the method is called.
treeView1->Nodes->Clear();
// Add a root TreeNode for each Customer object in the ArrayList.
myEnum = customerArray->GetEnumerator();
while ( myEnum->MoveNext() )
{
Customer^ customer2 = safe_cast<Customer^>(myEnum->Current);
treeView1->Nodes->Add( gcnew TreeNode( customer2->CustomerName ) );
// Add a child treenode for each Order object in the current Customer object.
IEnumerator^ myEnum = customer2->CustomerOrders->GetEnumerator();
while ( myEnum->MoveNext() )
{
Order^ order1 = safe_cast<Order^>(myEnum->Current);
treeView1->Nodes[ customerArray->IndexOf( customer2 ) ]->Nodes->Add( gcnew TreeNode( customer2->CustomerName + "." + order1->OrderID ) );
}
}
// Reset the cursor to the default for all controls.
::Cursor::Current = Cursors::Default;
// Begin repainting the TreeView.
treeView1->EndUpdate();
}
// The basic Customer class.
public class Customer : System.Object
{
private string custName = "";
protected ArrayList custOrders = new ArrayList();
public Customer(string customername)
{
this.custName = customername;
}
public string CustomerName
{
get{return this.custName;}
set{this.custName = value;}
}
public ArrayList CustomerOrders
{
get{return this.custOrders;}
}
} // End Customer class
// The basic customer Order class.
public class Order : System.Object
{
private string ordID = "";
public Order(string orderid)
{
this.ordID = orderid;
}
public string OrderID
{
get{return this.ordID;}
set{this.ordID = value;}
}
} // End Order class
// Create a new ArrayList to hold the Customer objects.
private ArrayList customerArray = new ArrayList();
private void FillMyTreeView()
{
// Add customers to the ArrayList of Customer objects.
for(int x=0; x<1000; x++)
{
customerArray.Add(new Customer("Customer" + x.ToString()));
}
// Add orders to each Customer object in the ArrayList.
foreach(Customer customer1 in customerArray)
{
for(int y=0; y<15; y++)
{
customer1.CustomerOrders.Add(new Order("Order" + y.ToString()));
}
}
// Display a wait cursor while the TreeNodes are being created.
Cursor.Current = new Cursor("MyWait.cur");
// Suppress repainting the TreeView until all the objects have been created.
treeView1.BeginUpdate();
// Clear the TreeView each time the method is called.
treeView1.Nodes.Clear();
// Add a root TreeNode for each Customer object in the ArrayList.
foreach(Customer customer2 in customerArray)
{
treeView1.Nodes.Add(new TreeNode(customer2.CustomerName));
// Add a child treenode for each Order object in the current Customer object.
foreach(Order order1 in customer2.CustomerOrders)
{
treeView1.Nodes[customerArray.IndexOf(customer2)].Nodes.Add(
new TreeNode(customer2.CustomerName + "." + order1.OrderID));
}
}
// Reset the cursor to the default for all controls.
Cursor.Current = Cursors.Default;
// Begin repainting the TreeView.
treeView1.EndUpdate();
}
Public Class Customer
Inherits [Object]
Private custName As String = ""
Friend custOrders As New ArrayList()
Public Sub New(ByVal customername As String)
Me.custName = customername
End Sub
Public Property CustomerName() As String
Get
Return Me.custName
End Get
Set(ByVal Value As String)
Me.custName = Value
End Set
End Property
Public ReadOnly Property CustomerOrders() As ArrayList
Get
Return Me.custOrders
End Get
End Property
End Class
Public Class Order
Inherits [Object]
Private ordID As String
Public Sub New(ByVal orderid As String)
Me.ordID = orderid
End Sub
Public Property OrderID() As String
Get
Return Me.ordID
End Get
Set(ByVal Value As String)
Me.ordID = Value
End Set
End Property
End Class
' Create a new ArrayList to hold the Customer objects.
Private customerArray As New ArrayList()
Private Sub FillMyTreeView()
' Add customers to the ArrayList of Customer objects.
Dim x As Integer
For x = 0 To 999
customerArray.Add(New Customer("Customer" + x.ToString()))
Next x
' Add orders to each Customer object in the ArrayList.
Dim customer1 As Customer
For Each customer1 In customerArray
Dim y As Integer
For y = 0 To 14
customer1.CustomerOrders.Add(New Order("Order" + y.ToString()))
Next y
Next customer1
' Display a wait cursor while the TreeNodes are being created.
Cursor.Current = New Cursor("MyWait.cur")
' Suppress repainting the TreeView until all the objects have been created.
treeView1.BeginUpdate()
' Clear the TreeView each time the method is called.
treeView1.Nodes.Clear()
' Add a root TreeNode for each Customer object in the ArrayList.
Dim customer2 As Customer
For Each customer2 In customerArray
treeView1.Nodes.Add(New TreeNode(customer2.CustomerName))
' Add a child TreeNode for each Order object in the current Customer object.
Dim order1 As Order
For Each order1 In customer2.CustomerOrders
treeView1.Nodes(customerArray.IndexOf(customer2)).Nodes.Add( _
New TreeNode(customer2.CustomerName + "." + order1.OrderID))
Next order1
Next customer2
' Reset the cursor to the default for all controls.
Cursor.Current = System.Windows.Forms.Cursors.Default
' Begin repainting the TreeView.
treeView1.EndUpdate()
End Sub
注釈
コレクションにはNodes、現在TreeNodeの に割り当てられているすべての子TreeNodeオブジェクトが保持されます。 を追加、削除、または複製 TreeNodeできます。これを行うと、すべての子ツリー ノードが追加、削除、または複製されます。 各 TreeNode オブジェクトには、他 TreeNode のオブジェクトのコレクションを含めることができます。 これにより、コレクションを反復処理するときに、 TreeView 内のどこにいるかを判断するのが困難になる可能性があります。 ツリー構造内の位置を確認するには、 プロパティを FullPath 使用します。 文字列は FullPath 、文字列値を PathSeparator 使用して解析して、ラベルの開始位置と終了位置を TreeNode 決定できます。
ラベルは TreeNode 、 プロパティを明示的に Text 設定することによって設定されます。 別の方法として、 プロパティを表す文字列パラメーターを TreeNode 持つコンストラクターのいずれかを使用してツリー ノードを Text 作成します。 ラベルが表示されている場合は、画像の TreeNode 横にラベルが表示されます。
ツリー ノードの横に画像を表示するには、親TreeViewコントロールの プロパティに をImageList割り当てImageList、 プロパティのインデックス値をImage参照して をImageList割り当てます。 がImageIndex選択されていない状態のときに表示TreeNodeする のImageインデックス値に プロパティを設定します。 同様に、 プロパティを SelectedImageIndex 、 が選択されたときに表示する の Image インデックス値に TreeNode 設定します。
特定のツリー ノードを選択し、コレクションをNodes反復処理するには、、、LastNodePrevNodeNextNode、NextVisibleNode、 PrevVisibleNodeの各プロパティ値FirstNodeを使用します。 TreeNode前述のプロパティの 1 つによって返された を プロパティにTreeView.SelectedNode割り当てて、コントロール内のツリー ノードをTreeView選択します。
ツリー ノードを展開して、次のレベルの子ツリー ノードを表示できます。 ユーザーは、 のTreeNode横にあるプラス (+) ボタンを押して を展開するか、 メソッドをTreeNode呼び出Expandして をTreeNode展開できます。 コレクション内のすべての子ツリー ノード レベルを Nodes 展開するには、 メソッドを ExpandAll 呼び出します。 メソッドを呼び出して子 TreeNode レベルを Collapse 折りたたむか、 の横にある TreeNodeマイナス (-) ボタンを押すことができます (表示されている場合)。 メソッドを Toggle 呼び出して、展開された状態と折りたたまれた状態の間で を交互 TreeNode に呼び出すこともできます。
ツリー ノードでは、必要に応じてチェック ボックスを表示できます。 チェック ボックスを表示するには、 の TreeView プロパティを CheckBoxes にtrue
設定します。 プロパティは Checked 、チェック状態のツリー ノードに対して に true
設定されます。
コンストラクター
TreeNode() |
TreeNode クラスの新しいインスタンスを初期化します。 |
TreeNode(SerializationInfo, StreamingContext) |
シリアル化情報とコンテキストを指定して、TreeNode クラスの新しいインスタンスを初期化します。 |
TreeNode(String) |
ラベル テキストを指定して、TreeNode クラスの新しいインスタンスを初期化します。 |
TreeNode(String, Int32, Int32) |
ラベル テキストと、ツリー ノードが選択されているときと選択されていないときに表示するイメージをそれぞれ指定して、TreeNode クラスの新しいインスタンスを初期化します。 |
TreeNode(String, Int32, Int32, TreeNode[]) |
ラベル テキスト、子ツリー ノード、およびツリー ノードが選択されているときと選択されていないときに表示するイメージをそれぞれ指定して、TreeNode クラスの新しいインスタンスを初期化します。 |
TreeNode(String, TreeNode[]) |
指定したラベル テキストと子ツリー ノードを使用して、TreeNode クラスの新しいインスタンスを初期化します。 |
プロパティ
BackColor |
ツリー ノードの背景色を取得または設定します。 |
Bounds |
ツリー ノードの範囲を取得します。 |
Checked |
ツリー ノードがチェックされているかどうかを示す値を取得または設定します。 |
ContextMenu |
このツリー ノードに関連付けられているショートカット メニューを取得します。 |
ContextMenuStrip |
このツリー ノードに関連付けられているショートカット メニューを取得または設定します。 |
FirstNode |
ツリー ノード コレクション内の最初の子ツリー ノードを取得します。 |
ForeColor |
ツリー ノードの前景色を取得または設定します。 |
FullPath |
ルート ツリー ノードから現在のツリー ノードまでのパスを取得します。 |
Handle |
ツリー ノードのハンドルを取得します。 |
ImageIndex |
ツリー ノードが選択されていないときに表示されるイメージのイメージ リスト内のインデックス値を取得または設定します。 |
ImageKey |
このツリー ノードが選択されていないときに、ノードに関連付けられるイメージのキーを取得または設定します。 |
Index |
ツリー ノード コレクション内のツリー ノードの位置を取得します。 |
IsEditing |
ツリー ノードを編集できるかどうかを示す値を取得します。 |
IsExpanded |
ツリー ノードが展開されているかどうかを示す値を取得します。 |
IsSelected |
ツリー ノードが選択されているかどうかを示す値を取得します。 |
IsVisible |
ツリー ノードが表示されている、または部分的に表示されているかどうかを示す値を取得します。 |
LastNode |
最後の子ツリー ノードを取得します。 |
Level |
TreeView コントロールにおけるツリー ノードの深さを取得します。最初の深さは 0 です。 |
Name |
ツリー ノードの名前を取得または設定します。 |
NextNode |
次のレベルにある兄弟ツリー ノードを取得します。 |
NextVisibleNode |
次のレベルにある、表示されているツリー ノードを取得します。 |
NodeFont |
ツリー ノード ラベルのテキストを表示するために使用するフォントを取得または設定します。 |
Nodes |
現在のツリー ノードに割り当てられている TreeNode オブジェクトのコレクションを取得します。 |
Parent |
現在のツリー ノードの親ツリー ノードを取得します。 |
PrevNode |
前のレベルにある兄弟ツリー ノードを取得します。 |
PrevVisibleNode |
前のレベルにある、表示されているツリー ノードを取得します。 |
SelectedImageIndex |
ツリー ノードが選択されているときに表示されるイメージのイメージ リスト内のインデックス値を取得または設定します。 |
SelectedImageKey |
ツリー ノードが選択されている状態のときに表示されるイメージのキーを取得または設定します。 |
StateImageIndex |
親 TreeNode の TreeView プロパティが |
StateImageKey |
親 TreeNode の TreeView プロパティが |
Tag |
ツリー ノードに関するデータを格納するオブジェクトを取得または設定します。 |
Text |
ツリー ノードのラベルに表示されるテキストを取得または設定します。 |
ToolTipText |
マウス ポインターを TreeNode に重ねたときに表示されるテキストを取得または設定します。 |
TreeView |
ツリー ノードが割り当てられている親ツリー ビューを取得します。 |
メソッド
BeginEdit() |
ツリー ノードのラベルの編集を開始します。 |
Clone() |
ツリー ノードと、そのツリー ノードをルートとするサブツリー全体をコピーします。 |
Collapse() |
ツリー ノードを折りたたみます。 |
Collapse(Boolean) |
TreeNode を折りたたみます。オプションで、子ノードも折りたたみます。 |
CreateObjRef(Type) |
リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。 (継承元 MarshalByRefObject) |
Deserialize(SerializationInfo, StreamingContext) |
指定された TreeNode から SerializationInfo の状態を読み込みます。 |
EndEdit(Boolean) |
ツリー ノード ラベルの編集を終了します。 |
EnsureVisible() |
ツリー ノードが確実に表示されるようにします。必要に応じてツリー ノードを展開し、ツリー ビュー コントロールをスクロールします。 |
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
Expand() |
ツリー ノードを展開します。 |
ExpandAll() |
すべての子ツリー ノードを展開します。 |
FromHandle(TreeView, IntPtr) |
指定されたハンドルを持ち、指定されたツリー ビュー コントロールに割り当てられているツリー ノードを返します。 |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetLifetimeService() |
古い.
対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。 (継承元 MarshalByRefObject) |
GetNodeCount(Boolean) |
子ツリー ノードの数を返します。 |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
InitializeLifetimeService() |
古い.
このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。 (継承元 MarshalByRefObject) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
MemberwiseClone(Boolean) |
現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。 (継承元 MarshalByRefObject) |
Remove() |
ツリー ビュー コントロールから現在のツリー ノードを削除します。 |
Serialize(SerializationInfo, StreamingContext) |
指定された TreeNode に、SerializationInfo の状態を保存します。 |
Toggle() |
ツリー ノードの展開された状態と折りたたまれた状態を切り替えます。 |
ToString() |
現在のオブジェクトを表す文字列を返します。 |
明示的なインターフェイスの実装
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
シリアル化情報オブジェクトを、TreeNode のシリアル化に必要なデータで事前設定します。 |