[C#/.NET]TreeView CheckBox Checken tijdens het vullen.

Pagina: 1
Acties:

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
Hallo.

Ik ben een treeview aan het maken die ik vul met bepaalde registry keys.
Als deze keys aan een bepaalde voorwaarde voldoen wil ik de checkbox van de betreffende node checken tijdens de loop om de node te vullen.

Hoe kan ik nu deze checkbox(en) checken? Ik kom er namelijk niet achter hoe ik de current node moet aanroepen.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 private void readKeys()
    {
      RegistryKey regKey = Registry.CurrentUser;
      regKey = regKey.OpenSubKey("Software\\Microsoft\\Internet Explorer\\TypedURLs");
      nrURLS.Text = regKey.ValueCount.ToString();
      Keys.Nodes.Add(regKey.Name.ToString());
      int nr = regKey.ValueCount;
      string[] names = regKey.GetValueNames();
      
      for(int i=0; i<nr;i++)
      {
        Keys.Nodes[0].Nodes.Add(names[i] + " (" + regKey.GetValue(names[i]).ToString()+") ");

       //HIER MOET DUS EEN if STATEMENT KOMEN DIE DE HUIDIGE CHECKBOX CHECKED

        Keys.Nodes[0].Nodes[i].Nodes.Add(regKey.GetValue(names[i]).ToString());
      }
    
    }


het vullen gaat ook verder perfect. Alvast bedankt!

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • whoami
  • Registratie: December 2000
  • Laatst online: 16:52
In plaats van je node zo toe te voegen kan je het zoe doen:

code:
1
2
3
4
5
6
7
8
TreeNode newNode = new TreeNode (names[i] + .... );

if( .... )
{
   newNode.Checked = true;
}

Keys.Nodes[0].Nodes.Add (newNode);

https://fgheysels.github.io/


  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
Maakt dat veel verschil?

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • whoami
  • Registratie: December 2000
  • Laatst online: 16:52
Op die manier kan je de checked property makkelijk gaan zetten, want dat wou je toch?

https://fgheysels.github.io/


  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
ah oke, ik ga het meteen ff proberen.
Het is nu wel gelukt met
code:
1
2
3
4
If(...)
{
Keys.Nodes[0].Nodes[i].Checked=true;
}


maar als dat andere beter/sneller is ga ik het natuurlijk zo doen.

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • whoami
  • Registratie: December 2000
  • Laatst online: 16:52
4of9 schreef op 24 september 2004 @ 15:15:
ah oke, ik ga het meteen ff proberen.
Het is nu wel gelukt met
code:
1
2
3
4
If(...)
{
Keys.Nodes[0].Nodes[i].Checked=true;
}


maar als dat andere beter/sneller is ga ik het natuurlijk zo doen.
Inderdaad, je kan het ook zo doen natuurlijk. :P
Maar qua snelheid zal er wel geen significant verschil zitten tussen beide mogelijkheden.

https://fgheysels.github.io/


  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
ah prefect dat werkt fijn!

Kan ik nu ook de childnodes toevoegen (1 laag dieper) dmv die TreeView newNode2 = New TreeNode? en zo ja hoe?

dat deed ik in het vorige voorbeeld zo:

code:
1
Keys.Nodes[0].Nodes[i].Nodes.Add(regKey.GetValue(names[i]).ToString());


thx allot!

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
Laat maar gelukt!

Thx

code:
1
2
3
4
5
6
7
8
9
10
TreeNode newNode = new TreeNode (names[i] + " (" + regKey.GetValue(names[i]).ToString()+") ");
        TreeNode newChild = new TreeNode (regKey.GetValue(names[i]).ToString());

        if(regKey.GetValue(names[i]).ToString().IndexOf("www")>-1)
        {
          newNode.Checked = true;
        }

        Keys.Nodes[0].Nodes.Add (newNode);
        Keys.Nodes[0].Nodes[i].Nodes.Add(newChild);

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...

Pagina: 1