GUIの作成
では、早速アプリケーションを作成していきましょう。といっても、プロジェクトの設定機能はすべてC1GanttViewコントロールに組み込まれていますから、このアプリケーションでは「終了」ボタンを設けて、アプリケーション終了時に作成したプロジェクトデータをXMLファイルに保存する処理と、アプリケーション起動時にXMLファイルを読み込む処理を作成するだけです。
XMLファイルは、アプリケーションと同じフォルダに「gantt_data.xml」というファイル名で保存します。
フォームのレイアウト
フォームには、C1GanttViewコントロールを配置し、Dockプロパティを「Top」に設定します。また、「StartDate」プロパティを「2015/07/20」に設定します。そして、「FixedBackColor」プロパティを「255, 224, 192」にします。これで、行列のヘッダーセルがオレンジ色に変わります。
続いて、Buttonコントロールを1つ配置し、Clickイベントハンドラを作成します。
フォームは、LoadとFormClosedイベントハンドラを作成します。
イベントハンドラの処理
XMLファイルを読み出してC1GanttViewコントロールに組み込むには、C1GanttViewコントロールのLoadXmlメソッドを、XMLファイルに書き出すにはSaveXmlメソッドを使用します。いずれも、引数はファイル名です。
ここでは、XMLファイルはアプリケーションと同じフォルダに「gantt_data.xml」というファイル名で保存します。アプリケーションを初めて起動したときは、XMLファイルは存在しないので、FileクラスのExistsメソッドでファイルの有無を確認し、ファイルがある場合のみ読み込むようにします。
また、XMLファイルに書き出す場合は、フォームクローズ時に無条件に保存するようにしています。
Public Class Form1 Private fname As String = Application.StartupPath + "\gantt_data.xml" Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load If System.IO.File.Exists(fname) = True Then C1GanttView1.LoadXml(fname) End If End Sub Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Me.Close() End Sub Private Sub Form1_FormClosed(sender As System.Object, e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed C1GanttView1.SaveXml(fname) End Sub End Class
namespace WindowsFormsApplication1 { public partial class Form1 : Form { private string fname = Application.StartupPath + "/gantt_data.xml"; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { if(System.IO.File.Exists(fname) == true) { c1GanttView1.LoadXml(fname); } } private void button1_Click(object sender, EventArgs e) { this.Close(); } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { c1GanttView1.SaveXml(fname); } } }