TreeViewAction Enumeration
Specifies the action that raised a TreeViewEventArgs event.
[Visual Basic] <Serializable> Public Enum TreeViewAction [C#] [Serializable] public enum TreeViewAction [C++] [Serializable] __value public enum TreeViewAction [JScript] public Serializable enum TreeViewAction
Remarks
This enumeration is used by members such as the TreeViewEventArgs constructor.
Members
| Member name | Description |
|---|---|
| ByKeyboard Supported by the .NET Compact Framework. | The event was caused by a keystroke. |
| ByMouse Supported by the .NET Compact Framework. | The event was caused by a mouse operation. |
| Collapse Supported by the .NET Compact Framework. | The event was caused by the TreeNode collapsing. |
| Expand Supported by the .NET Compact Framework. | The event was caused by the TreeNode expanding. |
| Unknown Supported by the .NET Compact Framework. | The action that caused the event is unknown. |
Example
[Visual Basic, C#] The following code example demonstrates how to use the AfterSelect event and the TreeViewAction enumeration. To run the example paste the following code in a form containing a TreeView control named TreeView1.
[Visual Basic] 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] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Namespace: System.Windows.Forms
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)