次の方法で共有


TreeView.BeforeLabelEdit イベント

ツリー ノードのラベル テキストが編集される前に発生します。

Public Event BeforeLabelEdit As NodeLabelEditEventHandler
[C#]
public event NodeLabelEditEventHandler BeforeLabelEdit;
[C++]
public: __event NodeLabelEditEventHandler* BeforeLabelEdit;

[JScript] JScript では、このクラスで定義されているイベントを処理できます。ただし、独自に定義することはできません。

イベント データ

イベント ハンドラが、このイベントに関連するデータを含む、NodeLabelEditEventArgs 型の引数を受け取りました。次の NodeLabelEditEventArgs プロパティには、このイベントの固有の情報が記載されます。

プロパティ 説明
CancelEdit 編集がキャンセルされたかどうかを示す値を取得または設定します。
Label ツリー ノードに関連付ける新しいテキストを取得します。
Node 編集するテキストを保持しているツリー ノードを取得します。

解説

イベント処理の詳細については、「 イベントの利用 」を参照してください。

使用例

[Visual Basic, C#] イベントと プロパティの使用方法を示すコード例を次に示します。この例を実行するには、TreeView1 という名前の TreeView コントロールが配置されているフォームに、次のコードを貼り付けます。そして、フォームのコンストラクタまたは Load メソッドで InitializeTreeView メソッドを呼び出します。

 
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

[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;
}

[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 名前空間 | OnBeforeLabelEdit | AfterLabelEdit | OnAfterLabelEdit