2 つのオブジェクト間の関係を見つける方法があります。存在する場合は、リンクに 2 つの Lineshapes を描画したいと思います。最初の線形状の実装を開始しましたが、コードをテストするたびに線が持続します。(ご覧のとおり)複数の方法を試しましたが、これらは新しい線を描画するためにキャンバスを更新しません。
private void DrawRelationshipLines()
{
_canvas = new ShapeContainer {Parent = panelCredentialsVisualisation};
//These methods below do not redraw the canvas
_canvas.Shapes.Remove(_tableinfoLine);
_canvas.Shapes.Clear();
_canvas.Refresh();
_canvas.Update();
//
List<string> relationships = lvSelectedTableInfoCredentialsIntersection.GetAllRelationships();
if (relationships.Capacity == 0)
return;
foreach (string context in relationships)
{
Label contextLabelName = GetLabelByName(context);
_tableinfoLine = new LineShape
{
Parent = _canvas,
BorderWidth = 2,
BorderColor = Color.BlueViolet,
StartPoint = new Point(lblselectedTableinfo.Right, lblselectedTableinfo.Top + 10),
EndPoint = new Point(contextLabelName.Left, contextLabelName.Top + 10)
};
}
コードはリレーションシップを検索して描画する際に問題なく動作しますが、別のリレーションシップを描画する前にキャンバスをクリアしたいのですが、これは可能ですか?
誰かが助けてくれたらありがとう。