SHOEISHA iD

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

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

ComponentZine(ComponentOne)

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

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

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

C1GanttViewコントロールの概要

  C1GanttViewコントロールは、Microsoft Project風の使用感でプロジェクト管理を行う機能を備えたコントロールです。コントロール内に必要なスケジュール管理機能を豊富に持っており、WindowsフォームにC1GanttViewコントロールを配置するだけで、ガントチャートを持ったプロジェクト管理アプリケーションを作成することができます。

 C1GanttViewコントロールは、デザイン時・実行時のどちらでもプロジェクトをタスクごとのスケジュールで計画し設定することができます。設定したスケジュールはガントチャートとしてグラフィック表示され、プロジェクトの計画が一目で分かるようになっています。

 プロジェクトのスケジュール設定にあたっては、一つ一つのタスクを主導で設定することはもちろん、タスクや期間、制約などのリストからスケジュールを自動的に生成することもできます。

 そして設定したスケジュールは、アプリケーション実行時にいつでも調整・変更できます。

 ユーザーがテーブル形式のデータグリッドや入力ダイアログを使用したり、グラフペイン内のバーをクリック&ドラッグしたりすることで、タスク情報を手動で編集することもできます。

 C1GanttViewコントロールはC1FlexGridコントロールの拡張コントロールで、2つのグリッドから構成されます。左側は従来のデータ入力に、右側(グラフ)はクリック&ドラッグ入力に使用します。2つのグリッドはサイズ調整可能なスプリッタで分割されています。

 作成したプロジェクトはXMLファイルに読み出して保存でき、また読み込むことができます。

 また、C1GanttViewコントロールには、C1GanttViewコントロールを操作するためのコマンドを組み込んだ専用のツールバーが用意されています。

C1GanttViewコントロールの主な特徴

 C1GanttViewコントロールは、以下の特徴を持っています。

自動および手動スケジュール作成

 C1GanttViewコントロールでは、Microsoft Projectと同様に自動と手動両方のスケジュール作成がサポートされています。

 自動スケジュール作成は、プロジェクトの開始日または終了日からスケジュールできます。開始日を入力すると、その日に開始する最初の自動スケジュールタスクがスケジュールされ、以降の自動スケジュールタスクのシーケンスが計算されます。終了日を入力すると、その日に終了する最後のタスクがスケジュールされ、次にその最終タスクの前のタスク、その前のタスクという風に最初のタスクがスケジュールされるまで続き、最後にプロジェクトの開始日が計算されます。

 C1GanttViewコントロールは、最適なスケジュールを完了するためにタスクの最も早い日付または最も遅い日付を計算できます。

 手動スケジュール作成はデフォルトモードで、個々のタスクスケジュールの計画と管理を手動で設定します。手動スケジュールでは、C1GanttViewコントロールによってタスクの開始日と終了日が設定されることはありません。

カレンダーとタイムスケールの設定

 稼働日、稼働時間、例外を指定するカスタムカレンダー設定を作成して保存することができます。C1GanttViewコントロールでは、手動および自動スケジュールタスク用にデフォルトの稼働日と非稼働日が定義されています。

 また、非常に柔軟なタイムスケジュールがサポートされており、強力な繰り返しパターンを使用して、稼働日やカレンダーの例外をカスタマイズすることができます。実行時ダイアログを使用して、3階層の日付/時刻形式を指定することも可能です。

タイムスケールの設定ダイアログボックス(ヘルプより抜粋)
タイムスケールの設定ダイアログボックス(ヘルプより抜粋)
制約

 制約とは、タスクの開始日または終了日に設定される制限のことです。各タスクには自動モードでスケジュールを作成する際に、守る必要がある制約タイプと制約日を割り当てることができます。

先行タスク

 各タスクには、1つまたは多数の先行タスクを割り当て、その開始または終了に依存させることができます。先行タスク(依存関係)は、タスクバー間の矢印で視覚化されます。先行タスクは、[タスク情報]ダイアログボックスから入力できます。タスクバーを先行タスクにドラッグすることで先行タスクを指定することも可能です。

期限

 タスクを完了させる必要のある期限を設定します。期限が設定されたタスクは視覚的に判別できます。特定のタスクに期限を設定すると、グラフに下向きの緑の矢印が表示されます。

期限の表示(ヘルプより抜粋)
期限の表示(ヘルプより抜粋)
競合の検証

 スケジュールの競合が発生したときにユーザーにそれを通知します。制約とリンクされたタスクの間に競合が発生したり、タスク間の参照が循環参照になったり、タスクの終了日前に期限がスケジュールされたりしたときに、ガントチャートのバーに競合を通知する赤いインジケータが表示されます。

競合の表示(ヘルプより抜粋)
競合の表示(ヘルプより抜粋)
リソース

 人員、資材、コストなど、プロジェクトのリソースのリストを管理します。任意の数のリソースをタスクに割り当て、それぞれに原価率を指定できます。

達成率

 ガントチャートのタスクバーでは、タスクの達成率を視覚化するプログレスバー風の表示をできます。

達成率の表示(ヘルプより抜粋)
達成率の表示(ヘルプより抜粋)
マイルストーン

 マイルストーンは、プロジェクトの重要な時点または目印です。マイルストーンは、期間がゼロのタスクとして作成され、菱形で視覚化されます。

マイルストーンの表示(ヘルプより抜粋)
マイルストーンの表示(ヘルプより抜粋)
XMLファイル形式としてのロードと保存

 作成したプロジェクトをXML形式のファイルとして保存することができます。保存したXMLファイルはいつでも読み込んでC1GanttViewコントロールに表示させることができます。

 組み込みのツールバーには、スケジュールを保存およびロードするためのコマンドが含まれており、コードではSaveXMLメソッドおよびLoadXMLメソッドを使って操作することもできます。

カスタム列

 グリッドでは、独自のデータ型、データ形式、およびテキスト配置カスタム列を作成できます。作成したカスタム列はXMLファイルに保存したり、XMLファイルからデータをロードしたりできます。

バースタイルのカスタマイズ

 ガントチャートのタスクバーは、スタイルの形状と色を変更したり、単純に特定の1タスクのスタイルをカスタマイズしたりすることができます。またユーザーは、リソース名など、バーの両側に表示するテキストフィールドの指定もできます。

バーの設定ダイアログボックス(ヘルプより抜粋)
バーの設定ダイアログボックス(ヘルプより抜粋)
組み込みツールバー

 C1GanttViewコントロールには、コントロールの機能をすぐに呼び出せる組み込みツールバーが付属しています。ユーザーは、1クリックでプロジェクト情報の管理、タスクの移動、挿入、削除を行えます。またユーザーは、表示されているグリッド列、リソース、タイムスケール、およびバースタイルの管理ができます。さらに、組み込みツールチップを非表示にして、独自のカスタムUIを使用することも可能です。

組み込みツールバー(ヘルプより抜粋)
組み込みツールバー(ヘルプより抜粋)

次のページ
C1GanttViewコントロールの構成要素

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

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

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング