我如何绘制专业的ERM线

时间:2013-12-11 10:38:11

标签: c# user-interface draw lines entity-relationship-model

我的GUI为数据库脚本绘制了一个ERM。 参考数据库的内容,例如两个实体, 用线连接。 但所有这些线都是纵横交错的。 每条线越过另一条线。 所以我的问题是,我如何以专业的外观画出这些线条。 在这里你可以看到绘制这些线的类。

class GuiReferenceModel
{
    int _xPos=0;
    int _yPos=0;
    GuiEntityModel _guiEM = null;
    HelperClass _helperClass;
    FieldModel _fm = null;
    Pen _pen;

    public GuiReferenceModel(FieldModel fm, GuiEntityModel guiEM)
    {
        _fm = fm;
        _guiEM = guiEM;
        _helperClass = new HelperClass();
        _pen = new Pen(Color.HotPink, 5);
    }

    public void Draw(Graphics gc, List<GuiEntityModel> GuiEntitys)
    {
        _xPos=_guiEM.getXPos()+_guiEM.getWidth();
        _yPos=_guiEM.getYPos()+(_guiEM.getHeight()/2);
        foreach (GuiEntityModel gem in GuiEntitys)
        {
            if (gem.GetName() == _fm.ReferencedField)
            {
                gc.DrawLine(_pen, _xPos, _yPos, gem.getXPos(), (gem.getYPos()+gem.getHeight()/2));
            }
        } 
    }
}

感谢您的帮助:D

0 个答案:

没有答案