NodeLabelEditEventArgs クラス
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)


AfterLabelEdit イベントは、ユーザーがツリー ノードのテキストを編集し終わったときに発生します。BeforeLabelEdit イベントは、ユーザーがツリー ノードのテキストを編集し始めたときに発生します。NodeLabelEditEventArgs オブジェクトは、ツリー ノードに関連付ける新しいテキスト、編集するラベルを保持しているツリー ノード、および編集操作がキャンセルされたかどうかを指定します。

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.EventArgs
System.Windows.Forms.NodeLabelEditEventArgs


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


NodeLabelEditEventArgs メンバ
System.Windows.Forms 名前空間
NodeLabelEditEventHandler
BeforeLabelEdit
AfterLabelEdit
NodeLabelEditEventArgs コンストラクタ (TreeNode, String)
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)



Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


NodeLabelEditEventArgs コンストラクタ

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

NodeLabelEditEventArgs コンストラクタ (TreeNode)
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)



Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


NodeLabelEditEventArgs プロパティ

名前 | 説明 | |
---|---|---|
![]() | CancelEdit | 編集がキャンセルされたかどうかを示す値を取得または設定します。 |
![]() | Label | ツリー ノードに関連付ける新しいテキストを取得します。 |
![]() | Node | 編集するテキストを保持しているツリー ノードを取得します。 |

関連項目
NodeLabelEditEventArgs クラスSystem.Windows.Forms 名前空間
NodeLabelEditEventHandler
BeforeLabelEdit
AfterLabelEdit
NodeLabelEditEventArgs メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

関連項目
NodeLabelEditEventArgs クラスSystem.Windows.Forms 名前空間
NodeLabelEditEventHandler
BeforeLabelEdit
AfterLabelEdit
NodeLabelEditEventArgs メンバ
BeforeLabelEdit イベントと AfterLabelEdit イベントのデータを提供します。
NodeLabelEditEventArgs データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | CancelEdit | 編集がキャンセルされたかどうかを示す値を取得または設定します。 |
![]() | Label | ツリー ノードに関連付ける新しいテキストを取得します。 |
![]() | Node | 編集するテキストを保持しているツリー ノードを取得します。 |

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

関連項目
NodeLabelEditEventArgs クラスSystem.Windows.Forms 名前空間
NodeLabelEditEventHandler
BeforeLabelEdit
AfterLabelEdit
- NodeLabelEditEventArgsのページへのリンク