SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(ComponentOne)

プロジェクト管理のガントチャートを作成する.NETアプリケーションの作成

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

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

GUIの作成

 では、さっそくアプリケーションを作成していきましょう。といっても、プロジェクトの設定機能はすべてC1GanttViewコントロールに組み込まれています。ですから、このアプリケーションでは「終了」ボタンを設けて、アプリケーション終了時に作成したプロジェクトデータをXMLファイルに保存する処理と、アプリケーション起動時にXMLファイルを読み込む処理を作成するだけです。

 XMLファイルは、アプリケーションと同じフォルダに「gantt_data.xml」というファイル名で保存します。

フォームのレイアウト

 フォームには、C1GanttViewコントロールを配置し、Dockプロパティを「Top」に、「StartDate」プロパティを「2013/08/01」に設定します。そして、「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);
        }
    }
}

次のページ
実際にタスクを作成してみる

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
ComponentZine(ComponentOne)連載記事一覧

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7256 2013/07/17 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング