NodeLabelEditEventArgs Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt Daten für das BeforeLabelEdit-Ereignis und das AfterLabelEdit-Ereignis bereit.
public ref class NodeLabelEditEventArgs : EventArgs
public class NodeLabelEditEventArgs : EventArgs
type NodeLabelEditEventArgs = class
inherit EventArgs
Public Class NodeLabelEditEventArgs
Inherits EventArgs
- Vererbung
Beispiele
Im folgenden Beispiel kann der Benutzer nichtroot-Strukturknoten mithilfe einer ContextMenu. Wenn der Benutzer mit der rechten Maustaste auf die Maus klickt, wird diese Position bestimmt und in einer Variablen mit dem TreeNode Namen mySelectedNodegespeichert. Wenn ein Nichtroot-Strukturknoten ausgewählt wurde, wird er in einen bearbeitbaren Zustand eingefügt, sodass der Benutzer die Knotenbeschriftung bearbeiten kann. Nachdem der Benutzer die Bearbeitung der Strukturknotenbezeichnung beendet hat, wird der neue Beschriftungstext ausgewertet und gespeichert. In diesem Beispiel werden mehrere Zeichen im Beschriftungstext als ungültig betrachtet. Wenn sich eine der ungültigen Zeichen in der Bezeichnungszeichenfolge befindet oder die Zeichenfolge leer ist, wird der Benutzer über den Fehler benachrichtigt, und die Bezeichnung wird an den vorherigen Text zurückgegeben.
/* 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
Hinweise
Das AfterLabelEdit Ereignis tritt auf, wenn der Benutzer den Text für einen Strukturknoten bearbeitet. Das BeforeLabelEdit Ereignis tritt auf, wenn der Benutzer beginnt, den Text für einen Strukturknoten zu bearbeiten. Ein NodeLabelEditEventArgs Objekt gibt den neuen Text an, der dem Strukturknoten, dem Strukturknoten zugeordnet werden soll, dem Strukturknoten, der die Beschriftung enthält, zu bearbeiten, und ob der Bearbeitungsvorgang abgebrochen wurde.
Weitere Informationen zur Behandlung von Ereignissen finden Sie unter behandeln und Auslösen von Ereignissen.
Konstruktoren
| NodeLabelEditEventArgs(TreeNode) |
Initialisiert eine neue Instanz der NodeLabelEditEventArgs-Klasse für den angegebenen TreeNode. |
| NodeLabelEditEventArgs(TreeNode, String) |
Initialisiert eine neue Instanz der NodeLabelEditEventArgs-Klasse für den angegebenen TreeNode und den angegebenen Text, mit dem die Strukturknotenbezeichnung aktualisiert werden soll. |
Eigenschaften
| CancelEdit |
Ruft einen Wert ab, der angibt, ob die Bearbeitung abgebrochen wurde, oder legt diesen fest. |
| Label |
Ruft den neuen Text ab, der dem Strukturknoten zugeordnet werden soll. |
| Node |
Ruft den Strukturknoten ab, der den zu bearbeitenden Text enthält. |
Methoden
| Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
| GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |