[C#] Treeview suppression de nodes

Treeview suppression de nodes [C#] - C#/.NET managed - Programmation

Marsh Posté le 03-12-2005 à 21:09:48    

Bonsoir,
 
Je tente de supprimer un node dans mon treeview mais j'ai un "NullReferenceException", je comprends pas.
J'ai regardé plusieurs tutos sur le net et je n'arrive pas à voir ce que je fais de travers.
 
Déclaration :

Code :
  1. this.databaseTreeView = new System.Windows.Forms.TreeView();
  2. ...
  3. this.databaseTreeView.KeyUp += new System.Windows.Forms.KeyEventHandler(this.databaseTreeView_KeyUp);
  4. ...


 
Remplissage

Code :
  1. foreach(UserClass u in manager.Model.UserClassList)
  2. {
  3. TreeNode node = new TreeNode(u.ToString());
  4. databaseTreeView.Nodes.Add(node);
  5. if(u == manager.SelectedUClass)
  6. {
  7.  databaseTreeView.SelectedNode = node;
  8. }
  9. }


 
Recupère l'evenement key up pour supprimer un element

Code :
  1. private void databaseTreeView_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
  2. {
  3. if(e.KeyCode == Keys.Delete)
  4. {
  5.  databaseTreeView.Nodes.RemoveAt(0); //marche pas (j'ai mis zero pour le test)
  6.  //databaseTreeView.Nodes.Remove(databaseTreeView.SelectedNodes); ne fonctionne pas plus
  7. }
  8. }


L'exception est levée à la finc de la fonction key up
 
Une idée ?
Merci d'avance
 
fluminis


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 03-12-2005 à 21:09:48   

Reply

Marsh Posté le 03-12-2005 à 22:18:18    

etrange, il doit manquer un bout du probleme : je viens de faire un copier coller de ton code et ca marche nickel (vs 2003 / framework 1.1)
 
Edit : met un bloc try/catch au niveau du RemoveAt avec un point d'arret dans le catch pour voir l'exception et la stackTrace... je vois que ca.


Message édité par Tamahome le 03-12-2005 à 22:19:23
Reply

Marsh Posté le 03-12-2005 à 22:24:22    

je viens de faire le meme test que toi, mon code marche dans un autre projet... :(


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 03-12-2005 à 22:53:23    

souveins toi de ce que je t'ai dit dans un autre topic : Clean up/Rebuild est ton ami :o


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 03-12-2005 à 22:59:53    

lol :)
je viens de trouver. Et cette fois pas de Clean/Rebuilt.
Juste que mon code commence sérieusement à être compliqué.
En gros, la suppression provoquait un evenement qui faisaient un Clear() et qui re-remplissait le treeview... bref l'attribut SelectedNode n'avait plus rien a voir...
Désolé pour cette question encore une fois stupide puisque la faute venait de moi :)


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed