SHOEISHA iD

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

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

ComponentZine(ComponentOne)(AD)

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

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

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

ツールバーへのボタンの追加

 ツールバーに独自のボタンを追加したり、不要なボタンを削除したりするには、C1GanttViewのToolStripを使用します。このオブジェクトのItems.Addメソッド、Items.Insertメソッド、およびItems.RemoveAtメソッドを用いて、ボタンの追加、挿入、削除を行うことができます。

 ここでは、ツールバーにアプリケーションのバージョン情報を表示するコマンドボタンを追加します。

 まず、ToolStripButtonクラスのコンストラクタでボタンを作成します。引数はボタンの文字列です。

 次に、このボタンのイベントハンドラを作成し、C1GanttViewコントロールのToolStripコレクションオブジェクトに作成したボタンを追加します。

Visual Basic
'ツールバーにボタンを追加。
Dim VerBtn As New ToolStripButton("バージョン")
AddHandler VerBtn.Click, AddressOf VerbuttonClick
C1GanttView1.ToolStrip.Items.Add(VerBtn) ' ツールバーの最後尾にボタンを追加
C#
// ツールバーにボタンを追加
ToolStripButton VerBtn = new ToolStripButton("バージョン");
    VerBtn.Click += new EventHandler(VerbuttonClick);
    c1GanttView1.ToolStrip.Items.Add(VerBtn);  // ツールバーの最後尾にボタンを追加

 続いて、このボタン用のClickイベントハンドラを作成し、メッセージボックスを表示する処理を作成します。

Visual Basic
Private Sub VerbuttonClick(ByVal sender As System.Object, ByVal e As System.EventArgs)
    MessageBox.Show("GanttChart Ver1.0.0")
End Sub
C#
private void VerbuttonClick(object sender, EventArgs e)
{
    MessageBox.Show("GanttChart Ver1.0.0");
}
ツールバーにボタンが追加される
ツールバーにボタンが追加される
ボタンをクリックするとメッセージボックスが表示される
ボタンをクリックするとメッセージボックスが表示される

 ツールバーからボタンを削除する場合はItems.RemoveAtメソッドを、挿入する場合はItems.Insertメソッドを使用します。それぞれ、Itemsプロパティに操作対象のボタンの位置を番号で指定します。

Visual Basic
C1GanttView1.ToolStrip.Items.RemoveAt(2)  ' 3番目のボタンを削除
C#
c1GanttView1.ToolStrip.Items.RemoveAt(2);  // 3番目のボタンを削除

コンテキストメニューのカスタマイズ

 コンテキストメニューもカスタマイズすることができます。コンテキストメニューは、グリッドビューとチャートビューにそれぞれあり、どちらもコンテキストメニューの項目を追加または削除できます。

 グリッドビューの場合はGridContextMenuオブジェクトを、チャートビューの場合はChartContextMenuオブジェクトにAddメソッドでコンテキストメニュー項目を追加します。メソッドの引数にはイベントハンドラの名前を指定します。

 ここでは、グリッドビューではツールバーのツールチップの表示・非表示を、チャートビューではアプリケーションの上書き保存を行うコンテキストメニューを追加します。

Visual Basic
' Grid用コンテキストメニューへの項目追加
Dim cmenu As New ContextMenuStrip
cmenu = C1GanttView1.GridContextMenu
cmenu.Items.Add("ツールバーにヒントを表示する", Nothing, AddressOf GridMenuItem1_click)
cmenu.Items.Add("ツールバーにヒントを表示しない", Nothing, AddressOf GridMenuItem2_click)

' Chart用コンテキストメニューへ項目を追加
Dim cmenu2 As New ContextMenuStrip
cmenu2 = C1GanttView1.ChartContextMenu
cmenu2.Items.Add("上書き保存", Nothing, AddressOf ChartMenuItem1_click)
C#
// Grid用コンテキストメニューへの項目追加
ContextMenuStrip cmenu ;
cmenu = c1GanttView1.GridContextMenu;
cmenu.Items.Add("ツールバーにヒントを表示する", null, new EventHandler(GridMenuItem1_click));
cmenu.Items.Add("ツールバーにヒントを表示しない", null, new EventHandler(GridMenuItem2_click));

// Chart用コンテキストメニューへ項目を追加
ContextMenuStrip cmenu2 ;
cmenu2 = c1GanttView1.ChartContextMenu;
cmenu2.Items.Add("上書き保存", null, new EventHandler(ChartMenuItem1_click));

 そして、イベントハンドラを作成しその中にコンテキストメニュー項目が選択された時の処理を作成します。

Visual Basic
 ' 追加したGrid用コンテキストメニューアイテムのClickイベントを追加
Sub GridMenuItem1_click(sender As Object, e As EventArgs)
    C1GanttView1.ToolStrip.ShowItemToolTips = True
End Sub

Sub GridMenuItem2_click(sender As Object, e As EventArgs)
    C1GanttView1.ToolStrip.ShowItemToolTips = False
End Sub

' 追加したChart用コンテキストメニューアイテムのClickイベントを追加
Sub ChartMenuItem1_click(sender As Object, e As EventArgs)
    C1GanttView1.SaveXml(fname)
    MessageBox.Show("上書き保存しました")
End Sub
C#
// 追加したGrid用コンテキストメニューアイテムのClickイベントを追加
private void GridMenuItem1_click(object sender, EventArgs e)
{
    c1GanttView1.ToolStrip.ShowItemToolTips = true;
}

private void GridMenuItem2_click(object sender, EventArgs e)
{
   c1GanttView1.ToolStrip.ShowItemToolTips =false;
} 

// 追加したChart用コンテキストメニューアイテムのClickイベントを追加
private void ChartMenuItem1_click(object sender, EventArgs e)
{
    c1GanttView1.SaveXml(fname);
    MessageBox.Show("上書き保存しました");
}

印刷機能の有効化

 C1GanttViewコントロールは、あらかじめ印刷する機能を実装しています。この機能は、C1Reportコントロールの機能を利用し、印刷プレビューからプリンタの設定,印刷まで印刷にかかわる機能を提供します。

 使い方は簡単で、まず、C1GanttViewコントロールの「EnabledPrinting」プロパティをTrueに設定します。

 そして、参照設定に以下のアセンブリを追加します。

  • C1.C1Report.4.dll
  • C1.Win.C1Report.4.dll

 これだけで、ツールバーの印刷ボタンが有効になり、印刷処理が可能になります。

 以上で完成です。

参照設定に2つのアセンブリを追加する
参照設定に2つのアセンブリを追加する
印刷ボタンが有効になり
印刷ボタンが有効になり
印刷ダイアログが表示される
印刷ダイアログが表示される

まとめ

 今回は、C1GanttViewコントロールの最も基本的な機能を紹介しましたが、C1GanttViewコントロールはとても豊富な機能を持っており、また多くの要素をカスタマイズできるので、コントロールそのものがアプリケーションになっているといっても過言ではありません。

 独自のプロジェクト管理アプリケーションを作成するのに新たな機能を追加する必要はなく、仕様に合わせてC1GanttViewコントロールをカスタマイズするだけで済みます。

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

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

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

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

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

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8729 2015/11/10 15:30

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング