---
title: "Variabel tappar värde"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/173792-variabel-tappar-värde"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "saw"
published: "2008-09-02T08:16:01.000Z"
updated: "2008-09-02T08:16:01.000Z"
replies: 0
views: 352
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/173792-variabel-tappar-värde"
---

# Variabel tappar värde

## #1 — saw, 2008-09-02T08:16Z

Jag har el treeView som innehåller förljande noder

```
node.Nodes.Add("MusicTransposer");
                node.Nodes.Add("MappBuilder");
                node.Nodes.Add("CheckStyle");
```

sen

```
 public string sText { get; set; }//här är jag osäker på om jag gör rätt...
```

Noderna har kryssrutor. När man klickar på en nod så kommer information
till en label och path till en picturebox.
Jag har också

```
private void checkTreeView()
        {
            foreach (TreeNode node in treeView1.SelectedNode.Nodes)
            {
                if (node.Checked == true)
                    sText += node.Text + " ";
            }
        }
private void HandleClick(TreeNode startNode, bool check, int level)
        {
            Application.DoEvents();
            if (startNode.Parent != null && level > 0)
            {
                startNode.Parent.Checked = check;
                startNode.Parent.Tag = true;
                HandleClick(startNode.Parent, check, level);// send same level
                startNode.Parent.Tag = false;
            }
            if (startNode.Level >= level)
            { 
                foreach (TreeNode child in startNode.Nodes)
                {
                    if (child.Tag == null ||
                        !(bool)child.Tag)
                    {
                        child.Checked = check;
                        child.Tag = true;
                        HandleClick(child, check, level); 
                        child.Tag = false;
                    }
                }
                
            }
            Application.DoEvents();
       }

        private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
        {
            Application.DoEvents();
            this.treeView1.AfterCheck -= treeView1_AfterCheck;
            HandleClick(e.Node, e.Node.Checked, e.Node.Level);
            this.treeView1.AfterCheck += treeView1_AfterCheck;
            bool parentChecked = this.treeView1.SelectedNode.Checked;
            if (parentChecked == true)
                bNext.Enabled = true;
            else
                bNext.Enabled = false;
            Application.DoEvents();
        }

        private void treeView1_Click(object sender, EventArgs e)
        {
            Application.DoEvents();
            sText = "";
            foreach (TreeNode node in treeView1.SelectedNode.Nodes)
            {
                if (node.Checked == true)
                  sText+=node.Text +" ";  
            }
            Application.DoEvents();
        }
private void bNext_Click(object sender, EventArgs e)
        {
            Form fm4 = new Form4(sText);
            this.Hide();
            Application.DoEvents();
            fm4.Show();
        }
```

Det som är tänkt att hända är att för varje checkad node, så skall det
läggas till i sText  och när man klickar på bNext så skall sText följa med till
nästa form. Detta fungerar kanon, om man inte klickar på formerna, gör man
det verkar det som det tömmer sText.
Vad tror ni???

Permalänk: https://www.webforum.nu/p/173792

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/173792-variabel-tappar-värde
