Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 255
  • Last Modified:

Treeview problem (Very Hard)

I have a drag and drop system from a treeview to a rich text box, which when you select and drag a node from the tree it places the tag value into the rich text box, however i want to just click on a node on the tree and click a button which will assign the value of its tag to a variable named puretext, this is a global variable which i am passing to another class file.


The code below is the drag and drop code, when you drag it assigns the tag of the selected node to PureText, however i dont want to have to drag the node into the text just click on it then press a button to load the other class and the tag value of the node will be in the global variable PureText.


Thanks.

If you need more code or clarrification just ask, please help asap



            // ------------------------ Drag and Drop System ----------------------------------------------------- //
        
        
            private void treeView1_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e)
            {
                  DoDragDrop(e.Item, DragDropEffects.Copy |  DragDropEffects.Move);
            }

   
        
            protected void richTextBox1_TextChanged (object sender, System.EventArgs e)
            {
                  if(richTextBox1.SelectedText=="")
                  {
                        menuItem_cut.Enabled=true;
                        menuItem_copy.Enabled=true;
                        menuItem_del.Enabled=true;
                  }
                  else
                  {
                        menuItem_cut.Enabled=false;
                        menuItem_copy.Enabled=false;
                        menuItem_del.Enabled=false;
                  }
            }

        
            private void richTextBox1_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)  
            {
                  if (e.Data.GetDataPresent(typeof(TreeNode)))
                        ((DragEventArgs)e).Effect = DragDropEffects.Copy;
                  else
                        ((DragEventArgs)e).Effect = DragDropEffects.None;
            }
        
        
            private void richTextBox1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
            {
                  TreeNode
                        MyNode=(TreeNode)e.Data.GetData("System.Windows.Forms.TreeNode");
                  PureText = MyNode.Tag.ToString();

                  int i;
                  String s;

                  i = richTextBox1.SelectionStart;
                  s = richTextBox1.Text.Substring(i);
                  richTextBox1.Text = richTextBox1.Text.Substring(0,i);

                  richTextBox1.Text = richTextBox1.Text + PureText;
                  richTextBox1.Text = richTextBox1.Text + s;
            }




Load method for the class i want to load when i select a node from the tree then click a button



private void edit_Click(object sender, System.EventArgs e)
            {
                  editbib latexide = new editbib();
                  latexide.ShowDialog(this);


            }
0
u1jd
Asked:
u1jd
1 Solution
 
cuynenCommented:
in the Click event of the button:

if( treeView1.SelectedNode != null )
     PureText = treeView1.SelectedNode.Tag;

when you click the button, the Tag value of the selected TreeNode will be copied to the PureText variable

notes:
+ variable names should start with a lowercase letter (myNode instead of MyNode, pureText instead of PureText, ...)
+ in OO there's no such thing as a global variable :)
0
 
u1jdAuthor Commented:
Thanks you for your code and useful comments, realise about the no global variables but it is very interesting about the lowercase thankyou for pointing it out.

Answer just needed

if( treeView1.SelectedNode != null )
    PureText = treeView1.SelectedNode.Tag.ToString();

but still it is brilliant , thankyou so much, points are all yours
 
0

Featured Post

Become an Android App Developer

Ready to kick start your career in 2018? Learn how to build an Android app in January’s Course of the Month and open the door to new opportunities.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now