閱讀英文

共用方式為


TreeView.BeforeLabelEdit 事件

定義

發生於編輯樹狀節點標籤文字之前。

public event System.Windows.Forms.NodeLabelEditEventHandler BeforeLabelEdit;
public event System.Windows.Forms.NodeLabelEditEventHandler? BeforeLabelEdit;

事件類型

範例

下列程式碼範例示範如何使用 BeforeLabelEditAfterSelectTopNode 成員。 若要執行此範例,請將下列程式碼貼到表單中,其中包含 TreeView 名為 TreeView1 的控制項。 InitializeTreeView在表單的建構函式或 Load 方法中呼叫 方法。

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 CancelEdit property to true to cancel the edit.  
    if (e.Node == TreeView1.TopNode)

    {
        e.CancelEdit = true;
        MessageBox.Show("You are not allowed to edit the top node");
    }
}
// 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;
    }
}

備註

如需如何處理事件的詳細資訊,請參閱 處理和引發事件

適用於

產品 版本
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

另請參閱