【问题标题】:draw dynamic tree绘制动态树
【发布时间】:2022-11-02 19:07:12
【问题描述】:

如何绘制动态的家谱 这样每当您添加或删除家庭成员时,树都会自行绘制

我尝试在位图上绘图,但我无法绘制它 本地数据库中的家庭数据

【问题讨论】:

  • 你到底想在这里做什么......你正在混合3个不同的东西。您是想在位图上实际绘制一些东西,创建一个 TreeView 控件并填充它,还是想对数据库做一些事情?没有代码或进一步解释,您的问题对我来说毫无意义。
  • 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。

标签: c# visual-studio drawing draw c#-datatable


【解决方案1】:
  1. 树是相关人员的列表。
        List<cPerson> tree = new List<cPerson>();
    
    1. 使用类 cPerson 创建家庭成员,例如:
        class cPerson
        {
            internal string name;
            internal string surname;
            internal DateTime birthdate;
            internal cPerson parent;
            internal List<cPerson> childs = new List<cPerson>();
        }
    
    1. 创建 GUI 以添加/删除树成员。尝试添加一些成员。
        void AddMember(string name, string surname)
            {
                var member = new cPerson();
                member.name = name;
                member.surname = surname;
                tree.Add(member);
            }
    
    1. 通过关系连接成员。
    2. 全部列出。
        void ListThemAll()
        {
            foreach (cPerson member in tree)
            {
                Console.WriteLine(member.name);
            }
        }
    

    ===== ===== ===== 是您正在寻找的方式吗?

【讨论】:

    【解决方案2】:

    您可以使用和调用PlantUML 作为免费提供的外部工具。

    PlantUML 读取文本输入并生成各种格式的图形输出。

    示例输入:

    @startwbs
    * Marjory & John I
    ** Elena & Tom
    *** John II
    *** Thekla
    ** Marion & Mustafa
    @endwbs
    

    结果输出:

    要在 C# 应用程序中使用它,您可以调用 PlantUML 作为外部进程并将生成的位图图形文件导入您的 C# 图片控件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-30
      • 2010-12-30
      • 1970-01-01
      • 2016-11-26
      • 1970-01-01
      相关资源
      最近更新 更多