private void NodeSelectionChanged(object s = null, EventArgs e = null)
        {
            var selectedNode = _treeView.SelectedNode == null ? null : _treeView.SelectedNode as EditableNode;

            if (selectedNode == _editingNode)
                return;

            TryApplyEditChanges();

            if (selectedNode == null)
                return;

            _editingNode = selectedNode;
            _editingNode.HideText();
            _treeView.SelectedNode = null; //Hide selection

            selectedNode.Text = "";

            _editLabel.Visible = true;
            _editText.Visible = true;

            _editLabel.Text = selectedNode.Key;
            _editText.Text = selectedNode.Value;

            _editLabel.Left = selectedNode.Bounds.Left;
            _editLabel.Top = selectedNode.Bounds.Top;

            _editText.Left = _editLabel.Right;
            _editText.Top = _editLabel.Top;
        }