/// <summary> /// Preview button click handler /// </summary> /// <param name="sender">sender who invokes this method</param> /// <param name="e">Event Arguments</param> private void btnPreview_Click(object sender, EventArgs e) { DisableForm(); TreeNode selectedSourceNodes = tvSource.SelectedNode; TreeNode selectedTargetNodes = tvTarget.SelectedNode; if (selectedSourceNodes == null) { MessageBox.Show("Please select a node in source", "Select a node", MessageBoxButtons.OK, MessageBoxIcon.Error); DisableForm(false); return; } if (selectedTargetNodes == null) { MessageBox.Show("Please select a node in target", "Select a node", MessageBoxButtons.OK, MessageBoxIcon.Error); DisableForm(false); return; } if (selectedSourceNodes.Level != selectedTargetNodes.Level) { if (MessageBox.Show("The level of node selected in source and target did not match.\nDo you want to continue?", "Node level mismatch", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No) { DisableForm(false); return; } } if (selectedTargetNodes.Parent != null) { if (selectedTargetNodes.Parent.Nodes.OfType<TreeNode>().SingleOrDefault(h => h.Text == selectedSourceNodes.Text) != null) { if (MessageBox.Show("A node with the same name already exist in the target, Do you wish to continue without comparing the root node?", "Node already exist", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No) { DisableForm(false); return; } } } MMMComparer objComparer = new MMMComparer(selectedSourceNodes, selectedTargetNodes); if (objComparer.Compare(rbtMirrorSource.Checked)) { } selectedTargetNodes.Expand(); DisableForm(false); }
void MMMTreeView_DragDrop(object sender, DragEventArgs e) { TreeNode NewNode; if (e.Data.GetDataPresent("System.Windows.Forms.TreeNode", false)) { Point pt = ((TreeView)sender).PointToClient(new Point(e.X, e.Y)); TreeNode DestinationNode = ((TreeView)sender).GetNodeAt(pt); NewNode = (TreeNode)e.Data.GetData("System.Windows.Forms.TreeNode"); if (DestinationNode.TreeView != NewNode.TreeView) { //DestinationNode.Nodes.Add((TreeNode)NewNode.Clone()); MMMComparer objComparer = new MMMComparer(NewNode, DestinationNode); if (objComparer.Compare((this.FindForm().Controls["panel2"].Controls["rbtMirrorSource"] as RadioButton).Checked)) { } DestinationNode.Expand(); //Remove Original Node // NewNode.Remove(); } } }