TreeView.AfterSelect イベント
ツリー ノードが選択された後に発生します。
Public Event AfterSelect As TreeViewEventHandler
[C#]
public event TreeViewEventHandler AfterSelect;
[C++]
public: __event TreeViewEventHandler* AfterSelect;
[JScript] JScript では、このクラスで定義されているイベントを処理できます。ただし、独自に定義することはできません。
イベント データ
イベント ハンドラが、このイベントに関連するデータを含む、TreeViewEventArgs 型の引数を受け取りました。次の TreeViewEventArgs プロパティには、このイベントの固有の情報が記載されます。
プロパティ | 説明 |
---|---|
Action | イベントを発生させたアクションの種類を取得します。 |
Node | チェックされた、展開された、折りたたまれた、または選択されたツリー ノードを取得します。 |
解説
イベント処理の詳細については、「 イベントの利用 」を参照してください。
使用例
[Visual Basic, C#] AfterSelect イベントと TreeViewAction 列挙体の使用方法を示すコード例を次に示します。この例を実行するには、TreeView1 という名前の TreeView コントロールが配置されているフォームに、次のコードを貼り付けます。
Private Sub InitializeTreeView()
' Construct the TreeView object.
Me.TreeView1 = New System.Windows.Forms.TreeView
' Set dock, location, size name, and tab order
' values for the TreeView object.
With TreeView1
.Dock = System.Windows.Forms.DockStyle.Left
.Location = New System.Drawing.Point(0, 0)
.Name = "TreeView1"
.Size = New System.Drawing.Size(152, 266)
.TabIndex = 1
End With
' Set the LabelEdit property to true to allow the
' user to edit the TreeNode text.
Me.TreeView1.LabelEdit = True
' Declare and create objects needed to populate
' the TreeView.
Dim file, files(), filePath As String
files = New String() {"bigPresentation.ppt", "myFinances.xls", _
"myResume.doc"}
filePath = "c:\myFiles"
Dim nodes As New System.Collections.ArrayList
' Create a node for each file, setting the Text property to the
' file's name and the Tag property to file's fully-qualified name.
For Each file In files
Dim node As New TreeNode(file)
node.Tag = filePath & "\" & file
nodes.Add(node)
Next
' Create a new node named topNode and add the ArrayList of
' nodes to topNode.
Dim topNode As New TreeNode("myFiles", _
nodes.ToArray(GetType(TreeNode)))
topNode.Tag = filePath
' Add topNode to the TreeView.
TreeView1.Nodes.Add(topNode)
' Add the TreeView to the form.
Me.Controls.Add(TreeView1)
End Sub
Private Sub TreeView1_BeforeLabelEdit(ByVal sender As Object, _
ByVal e As NodeLabelEditEventArgs) Handles TreeView1.BeforeLabelEdit
' Determine whether the user has selected the top node. If so,
' change the LabelEdit property to false so the user cannot
' edit this label.
If (e.Node Is TreeView1.TopNode) Then
TreeView1.LabelEdit = False
MessageBox.Show("You are not allowed to edit the top node")
End If
' Set the LabelEdit property to true again.
TreeView1.LabelEdit = True
End Sub
. . .
' Handle the After_Select event.
Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.TreeViewEventArgs) _
Handles TreeView1.AfterSelect
' Vary the response depending on which TreeViewAction
' triggered the event.
Select Case (e.Action)
Case TreeViewAction.ByKeyboard
MessageBox.Show("You like the keyboard!")
Case TreeViewAction.ByMouse
MessageBox.Show("You like the mouse!")
End Select
End Sub
[C#]
private void InitializeTreeView()
{
// Construct the TreeView object.
this.TreeView1 = new System.Windows.Forms.TreeView();
// Set dock, location, size name, and tab order
// values for the TreeView object.
TreeView1.Dock = System.Windows.Forms.DockStyle.Left;
TreeView1.Location = new System.Drawing.Point(0, 0);
TreeView1.Name = "TreeView1";
TreeView1.Size = new System.Drawing.Size(152, 266);
TreeView1.TabIndex = 1;
// Associate the event-handling methods with the
// BeforeLabeEdit and the AfterSelect events.
TreeView1.BeforeLabelEdit +=
new NodeLabelEditEventHandler(TreeView1_BeforeLabelEdit);
TreeView1.AfterSelect +=
new TreeViewEventHandler(TreeView1_AfterSelect);
// Set the LabelEdit property to true to allow the
// user to edit the TreeNode text.
this.TreeView1.LabelEdit = true;
// Declare and create objects needed to populate
// the TreeView.
string[] files = new string[]{"bigPresentation.ppt",
"myFinances.xls", "myResume.doc"};;
string filePath = "c:\\myFiles";
System.Collections.ArrayList nodes =
new System.Collections.ArrayList();
// Create a node for each file, setting the Text property to the
// file's name and the Tag property to file's fully-qualified name.
foreach ( string file in files )
{
TreeNode node = new TreeNode(file);
node.Tag = filePath+"\\"+file;
nodes.Add(node);
}
TreeNode[] treeNodes = new TreeNode[nodes.Count];
nodes.CopyTo(treeNodes);
// Create a new node named topNode and add the ArrayList of
// nodes to topNode.
TreeNode topNode = new TreeNode("myFiles", treeNodes);
topNode.Tag = filePath;
// Add topNode to the TreeView.
TreeView1.Nodes.Add(topNode);
// Add the TreeView to the form.
this.Controls.Add(TreeView1);
}
private void TreeView1_BeforeLabelEdit(object sender,
NodeLabelEditEventArgs e)
{
// Determine whether the user has selected the top node. If so,
// change the LabelEdit property to false so the user cannot
// edit this label.
if (e.Node == TreeView1.TopNode)
{
TreeView1.LabelEdit = false;
MessageBox.Show("You are not allowed to edit the top node");
}
// Set the LabelEdit property to true again.
TreeView1.LabelEdit = true;
}
. . .
// Handle the After_Select event.
private void TreeView1_AfterSelect(System.Object sender,
System.Windows.Forms.TreeViewEventArgs e)
{
// Vary the response depending on which TreeViewAction
// triggered the event.
switch((e.Action))
{
case TreeViewAction.ByKeyboard:
MessageBox.Show("You like the keyboard!");
break;
case TreeViewAction.ByMouse:
MessageBox.Show("You like the mouse!");
break;
}
}
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
TreeView クラス | TreeView メンバ | System.Windows.Forms 名前空間 | OnAfterSelect | BeforeSelect | OnBeforeSelect