GanttView for WinForms
先行タスク
GanttView の使用 > タスク要素 > 先行タスク

GanttView allows you to define task dependencies such as task predecessors and task successors. 先行タスクの開始日または終了日は、その後続タスクの開始日または終了日を決定付けます。C1GanttView で先行タスクを割り当てると、プロジェクトは自動的に後続タスクを指す矢印を作成します。先行タスクタイプが指定されていない場合、開始条件:終了 タイプの依存性がデフォルトで作成されます。

Additionally you can also specify the lag time if there is an expected delay for something that must happen between two linked tasks by using the Lag property of Predecessor class. For example, this is useful when you are expecting the delivery of materials. Here, you can specify the lag time in days, which is the default unit for lag time.

You can use the Predecessors and Successors properties of the Task class to add a task predecessor and successor respectively. You can also specify the type of predecessor to be added by using the PredecessorType property of Predecessor class, which takes the PredecessorType enumeration as an input to set the predecessor type to one of the following values:

タスクイメージ

依存タイプ

説明

終了-開始(FS) この依存性は、C1GanntView で 2 つのタスクをリンクした場合にデフォルトで先成されます。タスクを選択した順番に応じて、先に選択したタスクが先行タスク、後から選択したタスクが後続タスクになります。タスク(B)の作業はタスク(A)のすべての作業が終了してからでないと開始できません。 2 つのタスク「穴を掘る」と「木を植える」がある場合、「木を植える」タスクは「穴を掘る」タスクが完了してからでないと開始できません。
開始-開始(SS) 依存側のタスクは、被依存側のタスクが開始した後、いつでも開始できます。この依存性は、2 つのタスクの時間が重複できる場合、または並行して進められる場合に使用します。複数のタスクを並行して進められれば、総作業時間を減らすことができます。たとえば、タスク A に 7 日間かかり、タスク B に 10 日間かかる場合、2 つのタスクの合計時間はわずか 10 日になります。SS タイプでは、両タスクが同時に開始する必要はありません。 2 つのタスク「計画段階」と「執筆段階」がある場合、「執筆段階」タスクは、「計画段階」タスクが開始するまで開始できません。
終了-終了(FF) タスク(A)の終了日がタスク(B)の終了日を決定付けます。この依存性は、2 つのタスクの時間が重複できる場合、または並行して進められる場合に使用します。複数のタスクを並行して進められれば、総作業時間を減らすことができます。たとえば、タスク A に 7 日間かかり、タスク B に 10 日間かかる場合、2 つのタスクの合計時間はわずか 10 日になります。 2 つのタスク「内側テントを立てる」と「ポールを継ぐ」がある場合、「ポールを継ぐ」(タスク B)は「内側テントを立てる」(タスク A)が完了するまで完了できません。
開始-終了(SF)

タスク(A)の開始日がタスク(B)の終了日を決定付けます。

このタイプの依存性はあまり使われません。

建築プロジェクトのうち本棚を別の場所で組み立てるとします。プロジェクトの 2 つのタスクは「木材の配送」と「本棚の組み立て」です。「本棚の組み立て」タスクは、「木材の配送」タスクが開始するまで完了できません。

Use the below code to add a task predecessor programmatically.

C#
コードのコピー
//先行タスクを追加します。
Predecessor p = new Predecessor();
p.PredecessorTask = task1;
Task1.Predecessors.Add(p);