NodeLabelEditEventArgsとは? わかりやすく解説

NodeLabelEditEventArgs クラス

BeforeLabelEdit イベントと AfterLabelEdit イベントのデータを提供します。

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

Public Class NodeLabelEditEventArgs
    Inherits EventArgs
Dim instance As NodeLabelEditEventArgs
public class NodeLabelEditEventArgs : EventArgs
public ref class NodeLabelEditEventArgs : public
 EventArgs
public class NodeLabelEditEventArgs extends
 EventArgs
public class NodeLabelEditEventArgs extends
 EventArgs
解説解説
使用例使用例

ContextMenu を使用して、ユーザーがルート以外のツリー ノードを編集できるようにする例を次に示します。ユーザーがマウスを右クリックすると、ポインタ位置にある TreeNode が判断され、mySelectedNode という名前の変数に格納されます。ルート以外のツリー ノードが選択された場合、そのツリー ノードはユーザーが編集できる状態になります。ユーザーがツリー ノードのラベル編集を停止すると、新しいラベル テキストが評価され、保存されます。この例では、いくつかの文字がラベル テキストとして無効であると判断されます。ラベル文字列に無効な文字が 1 文字でも含まれている場合、または文字列が空の場合は、ユーザーにエラーが通知され、ラベル テキストは前の状態に戻されます。

' 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
         Me.treeView1.LabelEdit = False
   End If
End Sub 
/* 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();
     }
     this.treeView1.LabelEdit = false;
   }
}
   /* 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();
         }
         this->treeView1->LabelEdit = false;
      }
   }
/* 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.get_X(), e.get_Y());
} //treeView1_MouseDown

private void menuItem1_Click(Object sender,
 System.EventArgs e)
{
    if (mySelectedNode != null && mySelectedNode.get_Parent()
 != null) {
        treeView1.set_SelectedNode(mySelectedNode);
        treeView1.set_LabelEdit(true);
        if (!(mySelectedNode.get_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");
    }
} //menuItem1_Click

private void treeView1_AfterLabelEdit(Object
 sender, 
                            System.Windows.Forms.NodeLabelEditEventArgs e)
{
    if (e.get_Label()!= null) {
        if (e.get_Label().length() > 0) {
            if (e.get_Label().IndexOfAny((new
 char[]{ '@', '.', ',', '!' }))
                == -1) {
                // Stop editing without canceling the label change.
                e.get_Node().EndEdit(false);
            }
            else {
                /* Cancel the label edit action, inform the user, and 
                   place the node in edit mode again. 
                 */
                e.set_CancelEdit(true);
                MessageBox.Show("Invalid tree node label.\n" 
                    + "The invalid characters are: "
                    + "'@','.', ',', '!'", "Node Label Edit");
                e.get_Node().BeginEdit();
            }
        }
        else {
            /* Cancel the label edit action, inform the user, and 
               place the node in edit mode again.
             */
            e.set_CancelEdit(true);
            MessageBox.Show("Invalid tree node label.\n"
                + "The label cannot be blank", "Node Label Edit");
            e.get_Node().BeginEdit();
        }
        this.treeView1.set_LabelEdit(false);
    }
} //treeView1_AfterLabelEdit
継承階層継承階層
System.Object
   System.EventArgs
    System.Windows.Forms.NodeLabelEditEventArgs
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
NodeLabelEditEventArgs メンバ
System.Windows.Forms 名前空間
NodeLabelEditEventHandler
BeforeLabelEdit
AfterLabelEdit

NodeLabelEditEventArgs コンストラクタ (TreeNode, String)

指定した TreeNode と、ツリー ノード ラベルを更新するために指定したテキストの NodeLabelEditEventArgs クラスの新しいインスタンスを初期化します。

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

NodeLabelEditEventArgs コンストラクタ

NodeLabelEditEventArgs クラスの新しいインスタンスを初期化します。
オーバーロードの一覧オーバーロードの一覧

名前 説明
NodeLabelEditEventArgs (TreeNode) 指定した TreeNode の NodeLabelEditEventArgs クラスの新しいインスタンスを初期化します。
NodeLabelEditEventArgs (TreeNode, String) 指定した TreeNode と、ツリー ノード ラベルを更新するために指定したテキストの NodeLabelEditEventArgs クラスの新しいインスタンスを初期化します。
参照参照

関連項目

NodeLabelEditEventArgs クラス
NodeLabelEditEventArgs メンバ
System.Windows.Forms 名前空間
TreeNode

NodeLabelEditEventArgs コンストラクタ (TreeNode)

指定した TreeNode の NodeLabelEditEventArgs クラスの新しいインスタンスを初期化します。

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

Dim node As TreeNode

Dim instance As New NodeLabelEditEventArgs(node)
public NodeLabelEditEventArgs (
    TreeNode node
)
public:
NodeLabelEditEventArgs (
    TreeNode^ node
)
public NodeLabelEditEventArgs (
    TreeNode node
)
public function NodeLabelEditEventArgs (
    node : TreeNode
)

パラメータ

node

編集するテキストを保持しているツリー ノード。

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
NodeLabelEditEventArgs クラス
NodeLabelEditEventArgs メンバ
System.Windows.Forms 名前空間
TreeNode

NodeLabelEditEventArgs プロパティ


NodeLabelEditEventArgs メソッド


NodeLabelEditEventArgs メンバ

BeforeLabelEdit イベントと AfterLabelEdit イベントのデータを提供します。

NodeLabelEditEventArgs データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド NodeLabelEditEventArgs オーバーロードされます。 NodeLabelEditEventArgs クラスの新しいインスタンスを初期化します。
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

NodeLabelEditEventArgs クラス
System.Windows.Forms 名前空間
NodeLabelEditEventHandler
BeforeLabelEdit
AfterLabelEdit



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「NodeLabelEditEventArgs」の関連用語

NodeLabelEditEventArgsのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



NodeLabelEditEventArgsのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS