Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

基本機能が備わったガントチャートコントロール「GanttView for WPF」を試してみる

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2017/07/14 14:00

目次

GanttView for WPFを使ってみる

 それでは簡単なサンプルを作成して、GanttView for WPFの機能を確認してみましょう。

 Visual Studioを起動し上部メニューの「ファイル」→「新規作成」→「プロジェクト」をクリックします。

プロジェクトの作成

プロジェクトの作成
プロジェクトの作成

 「新しいプロジェクト」ポップアップウィンドウの左ナビから「インストール済み」→「テンプレート」→「Visual C#」→「Windows クラシック デスクトップ」を選択し、中央の一覧から「WPFアプリ」テンプレートを選択します。

テンプレートの選択
テンプレートの選択

 名前の項目は任意ですが本記では「GranttViewSample」という名前でプロジェクトを作成して進めます。

 ウィンドウの右下「OK」をクリックします。

コントロールの配置

 プロジェクトを作成すると、初期状態でMainWindows.xamlファイルが中央のデザイナー画面に表示された状態で始まります。MainWindows.xamlが表示されていない場合は、Visual Studioの右ナビの「ソリューションエクスプローラー」ウィンドウから「MainWindows.xaml」をダブルクリックして開きます。

MainWindows.xamlが開かれたデザイナー画面
MainWindows.xamlが開かれたデザイナー画面

 左側のツールボックスから「C1GanttView」をドラッグしてデザイナー画面にドロップします。

ツールボックスからC1GanttViewをドラッグする
ツールボックスからC1GanttViewをドラッグする
デザイナー画面にドロップする
デザイナー画面にドロップする

 デザイナー画面のC1GanttViewを選択し、プロパティウィンドウの「名前」欄にgranttViewと入力します。この名前は後からプログラムコードでC1GanttViewを操作する際に使用します。

プロパティウィンドウから名前を指定する
プロパティウィンドウから名前を指定する

プログラムコードからタスクを追加する

 画面上のC1GanttViewが読み込まれたタイミングでタスクを追加します。

 ソリューションエクスプローラー上の「MainWindow.xaml」左の三角アイコンをクリック展開します。展開されたMainWindow.xaml.csをダブルクリックして開きます。

Loadedイベントを設定する
public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();

        granttView.Loaded += GranttView_Loaded;
    }

    private void GranttView_Loaded(object sender, RoutedEventArgs e)
    {
    }
}

 C1GanttViewが読み込まれたタイミングでLoadedイベントが発生するので、イベント発生時に呼び出されるイベントハンドラ-としてGranttView_Loadedメソッドを指定しています。

 GranttView_Loaded内でタスクを追加する処理を記述します。

タスクを追加する
public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();

        granttView.Loaded += GranttView_Loaded;
    }

    private void GranttView_Loaded(object sender, RoutedEventArgs e)
    {
        // タスクを追加する処理
        Task task = new Task();

        // モード(ManualとAutomaticがあります)
        task.Mode = TaskMode.Manual;

        // タスク名
        task.Name = "記事を書く";

        // タスク開始時刻
        task.Start = new DateTime(2017, 6, 28);
        // 期間
        task.Duration = 7;

        // 進捗割合
        task.PercentComplete = 0.5;

        granttView.Tasks.Add(task);
    }
}

 using句に以下の2行を追加します。

usingを追加する
using C1.GanttView;
using C1.WPF.GanttView;

 なお「using System.Threading.Tasks;」がusing句にある場合は名前が重複しますので、不要な場合は削除するか、必要な場合は名前空間も含めて記述してください。

アプリケーションの実行結果
アプリケーションの実行結果

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

著者プロフィール

  • 西村 誠(ニシムラ マコト)

     Microsoft MVP Windows Platform Development。  Flash、PHPの開発経験もあり国産ECサイト構築フレームワーク「EC-CUBE」の公式エバンジェリストでもある。  ブログ:眠るシーラカンスと水底のプログラマー  著書:基礎から学ぶ Windows...

バックナンバー

連載:ComponentZine(ComponentOne Studio)

もっと読む

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