2013-08-31 2 views

Répondre

3

Avez-vous recherché ce fil? Genealogy Tree Control

Fondamentalement, il y a ce qui suggère d'utiliser Geni, ce qui pourrait convenir à vous aussi

Edit: si vous voulez aller « à pied », vous pouvez faire beaucoup de choses en fonction de votre niveau d'expérience . dans un premier temps, vous avez besoin d'une structure de données appropriée, par ex.

public class Genealogy { 
    Person me; 

    [...] 
} 

public class Person { 
    Person father, mother; 

    [...] 
} 

Ceci permet (très basique) de refléter votre généalogie. ensuite, pour la visualisation, vous pouvez d'abord essayer de flouter avec la classe TreeView. Cela vous donnera une représentation textuelle simple de votre hiérarchie si vous implémentez les bonnes interfaces. Si vous voulez une visualisation plus avancée, vous devrez probablement créer votre propre classe dérivée de UserControl, dans laquelle vous effectuerez tout le rendu de votre arbre. (Alors, le contrôle peut être placé sur les fenêtres habituelles forment des éléments, etc.) alors, vous pouvez suivre un principe récursif comme

public class Genealogy { 
    Person me; 

    public void draw() { 
     // Plots me! 
     me.draw(0, 0); 
    } 
} 

public class Person { 
    Person father, mother; 

    public void draw(int x, int y) { 
     // Plot parents 
     father.draw(x - width/2, y - height); 
     mother.draw(x + width/2, y - height); 

     // Plot the person image + name at (x,y) 
     [...] 
    } 
} 

je n'ai pas les commandes de l'interface utilisateur-dessin dans ma tête en ce moment, mais C'est la stratégie essentielle que je poursuivrais. Bien sûr, vous voudrez ajouter des marges, des lignes et tout pour pimenter votre arbre.

+0

oui je l'ai fait, et cela ne m'aide pas. Avez-vous lu ma question? Quelles méthodes dois-je utiliser dans les formulaires C# Windows, afin d'obtenir ce résultat? .... –

Questions connexes