Advanced User Interface Controls and Components
October 01, 2008
In order to start edit process for node text during runtime, you need to follow these steps:
In the following example a message appear whenever user tries to insert some invalid characters in the newly edited label. The edit process is canceled and restarted.
private void treeListView1_AfterLabelEdit(object sender, LidorSystems.IntegralUI.ObjectEditEventArgs e)
{
if (e.Object is LidorSystems.IntegralUI.Lists.TreeListViewNode)
{
LidorSystems.IntegralUI.Lists.TreeListViewNode node = (LidorSystems.IntegralUI.Lists.TreeListViewNode)e.Object;
if (e.Label != null)
{
if (e.Label.Length > 0)
{
if (e.Label.IndexOfAny(new char[] { '@', '.', ',', '!' }) >= 0)
{
// Cancel the label edit action, inform the user, and place the node in edit mode again
e.Cancel = true;
MessageBox.Show("Invalid tree node label.\nThe invalid characters are: '@','.', ',', '!'", "Node Label Edit");
node.BeginEdit();
}
}
else
{
// Cancel the label edit action, inform the user, and place the node in edit mode again
e.Cancel = true;
MessageBox.Show("Invalid tree node label.\nThe label cannot be blank", "Node Label Edit");
node.BeginEdit();
}
}
}
}
Private Sub treeListView1_AfterLabelEdit(sender As Object, e As LidorSystems.IntegralUI.ObjectEditEventArgs)
If TypeOf e.[Object] Is LidorSystems.IntegralUI.Lists.TreeListViewNode Then
Dim node As LidorSystems.IntegralUI.Lists.TreeListViewNode = DirectCast(e.[Object], LidorSystems.IntegralUI.Lists.TreeListViewNode)
If e.Label IsNot Nothing Then
If e.Label.Length > 0 Then
If e.Label.IndexOfAny(New Char() {"@"c, "."c, ","c, "!"c}) >= 0 Then
' Cancel the label edit action, inform the user, and place the node in edit mode again
e.Cancel = True
MessageBox.Show("Invalid tree node label." & vbLf & "The invalid characters are: '@','.', ',', '!'", "Node Label Edit")
node.BeginEdit()
End If
Else
' Cancel the label edit action, inform the user, and place the node in edit mode again
e.Cancel = True
MessageBox.Show("Invalid tree node label." & vbLf & "The label cannot be blank", "Node Label Edit")
node.BeginEdit()
End If
End If
End If
End Sub