Удалить дочерний узел дерева в приложении Windows - PullRequest
0 голосов
/ 26 февраля 2012

Я работаю над приложением Windows, где я показываю журналы, используя древовидную структуру, как показано ниже, здесь узлы создаются динамически на основе ежедневных журналов

Журналы -

+ 12-02-2001
+ 12-02-2001
+ 12-02-2001
+ 12-02-2001

но я хочу добавить кнопку удаления для каждого узла, как показано ниже

Журналы -

+ 12-02-2001 Delete
+ 12-02-2001 Delete
+ 12-02-2001 Delete
+ 12-02-2001 Delete

Спасибо.

Ответы [ 2 ]

1 голос
/ 27 февраля 2012

Вы можете сделать это проще, используя ContextMenuStrip.

http://msdn.microsoft.com/en-us/library/system.windows.forms.contextmenustrip.aspx

            //event handler for menuItem Click
    private void mnuDelNode_Click(object sender,EventArgs e)
    {
        //better confirm before delete using a message box 

        DeleteRecursive(listView.SelectedNode);
    }
    private void DeleteRecursive(TreeNode root)
    {
        //your delete logic here
    }
0 голосов
/ 26 февраля 2012

Если вы используете WindowsForms, вам нужно будет реализовать пользовательский рисунок TreeView и выполнить проверку нажатия на событие Click, чтобы увидеть, была ли нажата кнопка. TreeView на самом деле не был предназначен для добавления кнопок, поэтому вы можете рассмотреть альтернативный дизайн, скажем, добавление в правом меню, на панели инструментов и / или в контекстном меню с командой Delete, так как это будет значительно меньше. работать и больше в соответствии с тем, как работают стандартные элементы управления Windows (например, вы не видите связку кнопок за именами папок в TreeView Windows Explorer).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...