Код: Выделить всё
private void Form1_Load(object sender, EventArgs e)
{
TreeView1.Sorted = true; // enabled auto sort here
}
Моя проблема возникает, когда я разрешаю пользователю переименовывать узел из созданного мной элемента контекстного меню. TreeView не активируется автоматически. Поэтому в обработчике моего обработчика событий контекстного меню я добавил TreeViewDecks.Sort();
Код: Выделить всё
private void renameToolStripMenuItem_Click(object sender, EventArgs e)
{
if (TreeView1.SelectedNode != null)
{
TreeView1.SelectedNode.BeginEdit();
TreeView1.Sort(); // tried to call sort here stopped the edit
}
}
Код: Выделить всё
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();
}
}
TreeView1.Sorted = true; // tried to call sort here crashed app
}
Спасибо, что заглянули