NodeLabelEditEventArgs NodeLabelEditEventArgs NodeLabelEditEventArgs NodeLabelEditEventArgs Class

定義

BeforeLabelEdit イベントおよび AfterLabelEdit イベントのデータを提供します。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)

指定した TreeNodeNodeLabelEditEventArgs クラスの新しいインスタンスを初期化します。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)

適用対象

こちらもご覧ください