NodeLabelEditEventArgs NodeLabelEditEventArgs NodeLabelEditEventArgs NodeLabelEditEventArgs Class

정의

BeforeLabelEditAfterLabelEdit 이벤트에 대한 데이터를 제공합니다.Provides data for the BeforeLabelEdit and AfterLabelEdit events.

public ref class NodeLabelEditEventArgs : EventArgs
public class NodeLabelEditEventArgs : EventArgs
type NodeLabelEditEventArgs = class
    inherit EventArgs
Public Class NodeLabelEditEventArgs
Inherits EventArgs
상속
NodeLabelEditEventArgsNodeLabelEditEventArgsNodeLabelEditEventArgsNodeLabelEditEventArgs

예제

다음 예제에서는 사용자가 루트가 아닌 트리 노드를 사용 하 여 편집할 수는 ContextMenu합니다.The following example allows the user to edit nonroot tree nodes by using a ContextMenu. 마우스를 마우스 오른쪽 단추로 클릭할 때 합니다 TreeNode 이때 위치가 결정 하 고 라는 변수에 저장 mySelectedNode합니다.When the user right clicks the mouse, the TreeNode at that position is determined and stored in a variable named mySelectedNode. 루트가 아닌 트리 노드를 선택 하는 경우 설정 됩니다는 편집 가능한 상태로 노드 레이블을 편집할 수 있도록 허용 합니다.If a nonroot tree node was selected, it is put into an editable state, allowing the user to edit the node label. 사용자가 트리 노드 레이블의 편집을 중지 한 후 새 레이블 텍스트를 계산 되어 저장 됩니다.After the user stops editing the tree node label, the new label text is evaluated and saved. 예를 들어 여러 문자 레이블 텍스트에 유효한 간주 됩니다.For this example, several characters are considered not valid in the label text. 레이블 문자열에 잘못 된 문자 중 하나 또는 문자열이 비어 사용자 오류 알림이 전송 되 고 이전 텍스트에 레이블을 반환 됩니다.If one of the invalid characters is in the label string, or the string is empty, the user is notified of the error and the label is returned to its previous text.

   /* Get the tree node under the mouse pointer and 
      save it in the mySelectedNode variable. */
private:
   void treeView1_MouseDown( Object^ /*sender*/, System::Windows::Forms::MouseEventArgs^ e )
   {
      mySelectedNode = treeView1->GetNodeAt( e->X, e->Y );
   }

   void menuItem1_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      if ( mySelectedNode != nullptr && mySelectedNode->Parent != nullptr )
      {
         treeView1->SelectedNode = mySelectedNode;
         treeView1->LabelEdit = true;
         if (  !mySelectedNode->IsEditing )
         {
            mySelectedNode->BeginEdit();
         }
      }
      else
      {
         MessageBox::Show( String::Concat( "No tree node selected or selected node is a root node.\n",
            "Editing of root nodes is not allowed." ), "Invalid selection" );
      }
   }

   void treeView1_AfterLabelEdit( Object^ /*sender*/,
      System::Windows::Forms::NodeLabelEditEventArgs^ e )
   {
      if ( e->Label != nullptr )
      {
         if ( e->Label->Length > 0 )
         {
            array<Char>^ temp0 = {'@','.',',','!'};
            if ( e->Label->IndexOfAny( temp0 ) == -1 )
            {
               
               // Stop editing without canceling the label change.
               e->Node->EndEdit( false );
            }
            else
            {
               /* Cancel the label edit action, inform the user, and 
                  place the node in edit mode again. */
               e->CancelEdit = true;
               MessageBox::Show( String::Concat( "Invalid tree node label.\n",
                  "The invalid characters are: '@','.', ',', '!'" ),
                  "Node Label Edit" );
               e->Node->BeginEdit();
            }
         }
         else
         {
            /* Cancel the label edit action, inform the user, and 
               place the node in edit mode again. */
            e->CancelEdit = true;
            MessageBox::Show( "Invalid tree node label.\nThe label cannot be blank",
               "Node Label Edit" );
            e->Node->BeginEdit();
         }
      }
   }
/* Get the tree node under the mouse pointer and 
   save it in the mySelectedNode variable. */
private void treeView1_MouseDown(object sender, 
  System.Windows.Forms.MouseEventArgs e)
{
   mySelectedNode = treeView1.GetNodeAt(e.X, e.Y);
}

private void menuItem1_Click(object sender, System.EventArgs e)
{
   if (mySelectedNode != null && mySelectedNode.Parent != null)
   {
      treeView1.SelectedNode = mySelectedNode;
      treeView1.LabelEdit = true;
      if(!mySelectedNode.IsEditing)
      {
         mySelectedNode.BeginEdit();
      }
   }
   else
   {
      MessageBox.Show("No tree node selected or selected node is a root node.\n" + 
         "Editing of root nodes is not allowed.", "Invalid selection");
   }
}

private void treeView1_AfterLabelEdit(object sender, 
         System.Windows.Forms.NodeLabelEditEventArgs e)
{
   if (e.Label != null)
   {
     if(e.Label.Length > 0)
     {
        if (e.Label.IndexOfAny(new char[]{'@', '.', ',', '!'}) == -1)
        {
           // Stop editing without canceling the label change.
           e.Node.EndEdit(false);
        }
        else
        {
           /* Cancel the label edit action, inform the user, and 
              place the node in edit mode again. */
           e.CancelEdit = true;
           MessageBox.Show("Invalid tree node label.\n" + 
              "The invalid characters are: '@','.', ',', '!'", 
              "Node Label Edit");
           e.Node.BeginEdit();
        }
     }
     else
     {
        /* Cancel the label edit action, inform the user, and 
           place the node in edit mode again. */
        e.CancelEdit = true;
        MessageBox.Show("Invalid tree node label.\nThe label cannot be blank", 
           "Node Label Edit");
        e.Node.BeginEdit();
     }
   }
}
' Get the tree node under the mouse pointer and
' save it in the mySelectedNode variable. 
Private Sub treeView1_MouseDown(sender As Object, _
  e As System.Windows.Forms.MouseEventArgs)
        
   mySelectedNode = treeView1.GetNodeAt(e.X, e.Y)
End Sub    
    
Private Sub menuItem1_Click(sender As Object, e As System.EventArgs)
   If Not (mySelectedNode Is Nothing) And _
     Not (mySelectedNode.Parent Is Nothing) Then
      treeView1.SelectedNode = mySelectedNode
      treeView1.LabelEdit = True
      If Not mySelectedNode.IsEditing Then
         mySelectedNode.BeginEdit()
      End If
   Else
      MessageBox.Show("No tree node selected or selected node is a root node." & _
        Microsoft.VisualBasic.ControlChars.Cr & _
        "Editing of root nodes is not allowed.", "Invalid selection")
   End If
End Sub    
    
Private Sub treeView1_AfterLabelEdit(sender As Object, _
  e As System.Windows.Forms.NodeLabelEditEventArgs)
   If Not (e.Label Is Nothing) Then
      If e.Label.Length > 0 Then
         If e.Label.IndexOfAny(New Char() {"@"c, "."c, ","c, "!"c}) = -1 Then
            ' Stop editing without canceling the label change.
            e.Node.EndEdit(False)
         Else
            ' Cancel the label edit action, inform the user, and
            ' place the node in edit mode again. 
            e.CancelEdit = True
            MessageBox.Show("Invalid tree node label." & _
              Microsoft.VisualBasic.ControlChars.Cr & _
              "The invalid characters are: '@','.', ',', '!'", _
              "Node Label Edit")
            e.Node.BeginEdit()
         End If
      Else
         ' Cancel the label edit action, inform the user, and
         ' place the node in edit mode again. 
         e.CancelEdit = True
         MessageBox.Show("Invalid tree node label." & _
           Microsoft.VisualBasic.ControlChars.Cr & _
           "The label cannot be blank", "Node Label Edit")
           e.Node.BeginEdit()
      End If
   End If
End Sub 

설명

AfterLabelEdit 이벤트는 사용자가 트리 노드에 대 한 텍스트를 편집을 마치면 발생 합니다.The AfterLabelEdit event occurs when the user finishes editing the text for a tree node. BeforeLabelEdit 이벤트는 사용자가 트리 노드에 대 한 텍스트를 편집을 시작할 때 발생 합니다.The BeforeLabelEdit event occurs when the user begins editing the text for a tree node. NodeLabelEditEventArgs 편집 작업이 취소 되었는지 여부 및 개체를 편집 하려면 레이블이 포함 된 트리 노드 트리 노드와 연결할 새 텍스트를 지정 합니다.A NodeLabelEditEventArgs object specifies the new text to associate with the tree node, the tree node that contains the label to edit, and whether the edit operation has been canceled.

이벤트 처리에 대한 자세한 내용은 이벤트 처리 및 발생 을 참조하십시오.For more information about handling events, see Handling and Raising Events.

생성자

NodeLabelEditEventArgs(TreeNode) NodeLabelEditEventArgs(TreeNode) NodeLabelEditEventArgs(TreeNode) NodeLabelEditEventArgs(TreeNode)

지정된 TreeNode에 대한 NodeLabelEditEventArgs 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the NodeLabelEditEventArgs class for the specified TreeNode.

NodeLabelEditEventArgs(TreeNode, String) NodeLabelEditEventArgs(TreeNode, String) NodeLabelEditEventArgs(TreeNode, String) NodeLabelEditEventArgs(TreeNode, String)

지정된 NodeLabelEditEventArgs와 트리 노드 레이블을 업데이트하는 데 사용할 지정된 텍스트에 대한 TreeNode 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the NodeLabelEditEventArgs class for the specified TreeNode and the specified text with which to update the tree node label.

속성

CancelEdit CancelEdit CancelEdit CancelEdit

편집이 취소되었는지를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value indicating whether the edit has been canceled.

Label Label Label Label

트리 노드와 연결할 새 텍스트를 가져옵니다.Gets the new text to associate with the tree node.

Node Node Node Node

편집할 텍스트가 포함된 트리 노드를 가져옵니다.Gets the tree node containing the text to edit.

메서드

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(Inherited from Object)

적용 대상

추가 정보