Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

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

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

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

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

 ツールバーに独自のボタンを追加したり、不要なボタンを削除したりするには、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コントロールをカスタマイズするだけで済みます。



  • ブックマーク
  • 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