作成日: 2020/02/04 最終更新日: 2020/02/04
文書種別
使用方法
詳細
実行時にタスクの属性(タスク名、開始日時、終了日など)を変更したりタスクバーを移動した場合、BeforeEditTaskイベントとAfterEditTaskイベントを使用して、どの属性が変更されたかを知ることができます。
最初に、BeforeEditTaskイベントでタスクの各種属性の値をダミー変数に保存し、AfterEditTaskイベントで編集後の新しい値と比較し、値が変更されていた場合にその属性が変更されたと判断します。
◎サンプルコード(VB)
最初に、BeforeEditTaskイベントでタスクの各種属性の値をダミー変数に保存し、AfterEditTaskイベントで編集後の新しい値と比較し、値が変更されていた場合にその属性が変更されたと判断します。
◎サンプルコード(VB)
Public Class Form1
Dim start As DateTime?
Dim finish As DateTime?
Dim Name As String
Private Sub C1GanttView1_BeforeEditTask(sender As Object, e As C1.Win.C1GanttView.CancelTaskArgs) Handles C1GanttView1.BeforeEditTask
Name = e.Task.Name
start = e.Task.Start
finish = e.Task.Finish
End Sub
Private Sub C1GanttView1_AfterEditTask(sender As Object, e As C1.Win.C1GanttView.CancelTaskArgs) Handles C1GanttView1.AfterEditTask
If Name <> e.Task.Name Then
Console.WriteLine("タスク名の変更")
End If
If (start <> e.Task.Start) Then
If (finish <> e.Task.Finish) Then
Console.WriteLine("タスクバーの移動")
Else
Console.WriteLine("開始日時の変更")
End If
ElseIf (finish <> e.Task.Finish) Then
Console.WriteLine("終了日時の変更")
End If
End Sub
End Class
◎サンプルコード(C#) public partial class Form1 : Form
{
DateTime? start;
DateTime? finish;
string name;
public Form1()
{
InitializeComponent();
}
private void c1GanttView1_BeforeEditTask(object sender, C1.Win.C1GanttView.CancelTaskArgs e)
{
name = e.Task.Name;
start = e.Task.Start;
finish = e.Task.Finish;
}
private void c1GanttView1_AfterEditTask(object sender, C1.Win.C1GanttView.CancelTaskArgs e)
{
if ((name != e.Task.Name))
{
Console.WriteLine("タスク名の変更");
}
if ((start != e.Task.Start))
{
if ((finish != e.Task.Finish))
{
Console.WriteLine("タスクバーの移動");
}
else
{
Console.WriteLine("開始日時の変更");
}
}
else
{
if ((finish != e.Task.Finish))
{
Console.WriteLine("終了日時の変更");
}
}
}
}
旧文書番号
84912