CodeZine(コードジン)

特集ページ一覧

ガントチャートでプロジェクト管理を行う.NETアプリケーションの作成【増補改訂版】

ComponentOne Studioを活用したWindowsフォームアプリケーションの作成

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2015/06/11 14:00
目次

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ファイルに書き出す場合は、フォームクローズ時に無条件に保存するようにしています。

Visual Basic
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
C#
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);
        }
    }
}

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 瀬戸 遥(セト ハルカ)

    8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

バックナンバー

連載:ComponentZine(ComponentOne Studio)

もっと読む

All contents copyright © 2005-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5