家族のメンバーを視覚的な家系図ツリーに表示したいと思います.http: //s12.postimg.org/y9lcyjhvx/Untitled.png
どこから始めればよいのか、何を使用できるのか、あるいは可能であれば C# Windows フォームでさえもわかりません。
誰か助けてくれませんか?
このスレッドを調べましたか? 系統樹の制御
基本的に、あなたにも適しているかもしれないGeniを使用することを提案しています
編集:「徒歩で」行きたい場合は、経験レベルに応じて多くのことができます. 最初に、適切なデータ構造が必要です。
public class Genealogy {
Person me;
[...]
}
public class Person {
Person father, mother;
[...]
}
これにより、(非常に基本的な)家系図を反映できます。次に、視覚化のために、最初にTreeViewクラスを使ってファジーしてみます。これにより、適切なインターフェースを実装すれば、階層の単純なテキスト表現が得られます。より高度な視覚化が必要な場合は、ツリーのすべてのレンダリングを実行する独自の UserControl 派生クラスを作成する必要があります。(その後、コントロールは通常のウィンドウフォーム要素などに配置できます)その後、次のような再帰原則に従うことができます
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)
[...]
}
}
今のところ、UI 描画のコマンドは頭にありませんが、これは私が追求する重要な戦略です。もちろん、マージン、ライン、その他すべてを追加して、ツリーにスパイスを加えたいと思うでしょう。