SHOEISHA iD

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

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

ComponentZine(CalendarGrid)

業務アプリ開発で要求される複雑なカレンダー画面を、C#やVBで簡単に実装する

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

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

GcCalendarGridコントロールの概要(2)

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

 GCCalendarGridコントロールには、次のような特徴があります。

業務アプリのカレンダー画面を手軽に開発

 列と行の罫線レイアウトを使って、1日のレイアウトを自由に定義できます。例えば1日を24個のセルで区切って1時間単位で表現することも、12個のセルで区切って2時間単位で表現することも、8個のセルで日中の稼働時間を表現することも、すべて開発者の思いのままにデザインできます。

Excel感覚で操作できるデザイナ

 1日のレイアウトはデザイナを使って、行列の追加やセル結合(マージ)の直感的な操作で定義できます。デザイナで作成したレイアウトはC#/VB.NETソースコードとして保持されるので、差分の比較やバージョン管理に利用できます。

月スタイル

 壁掛けのカレンダーのように1日の予定を月単位で表示できます。複数の月を並べて表示することもできます。

週スタイル

 業務カレンダーのように1日の予定を週単位で表示できます。表示する週の数や土日の表示/非表示を設定できます。

複数列スタイル

 タイムカードや生産管理のカレンダーによく用いられるカレンダー表示です。週や曜日ではなく日数ベースでレイアウトできるため、「5のつく日」のように特定の日の並びをそろえて扱うのに適しています。

リストビュースタイル

 ガントチャートや年間行事予定のように、縦または横方向に展開していくカレンダー表示です。プロジェクト管理や公共部門でなじみのあるカレンダー画面を開発できます。

いろいろなタイプのカレンダーを作成できる(製品紹介ページより抜粋)
いろいろなタイプのカレンダーを作成できる(製品紹介ページより抜粋)
セルのスタイル設定

 本日、休日、稼働日、月間の日付の背景色や文字色といったスタイルをそれぞれ指定できます。グラデーションの塗りつぶしも可能です。

 また、条件付きスタイルによって個別の曜日や特定の条件に合った日付のスタイルを変更できます。

デザイナでさまざまな形状、機能のセルを設定可能
デザイナでさまざまな形状、機能のセルを設定可能
セル型による入力機能

 テキストボックス、ボタン、コンボボックス、チェックボックス、ラジオボタンといったフォーム入力でなじみのある機能をカレンダー画面に組み込んで、予定の入力や編集を実装できます。

 また、アポイントメント型セルも提供しています。

利用できるセルの入力コントロール設定
利用できるセルの入力コントロール設定
多様な日付書式

 .NET Framework互換書式、InputMan互換書式およびCalendarGrid独自形式の3つの書式によって、既存コードとの互換性と和暦や六曜といった日本語対応を提供します。

利用できる書式設定(ヘルプより抜粋)
利用できる書式設定(ヘルプより抜粋)
InputMan互換の入力機能

 「InputMan for Windows Forms」相当の入力機能を内蔵しており、指定した文字の入力禁止や和暦書式、複数列コンボボックスなどのフォーム入力で人気の機能をカレンダー画面に追加できます。

タッチ対応

 ズーム、スクロール、リサイズ、グリッパーによる文字列やセルの選択、タッチキーボードの切り替え機能をWindows 8以降のタッチ対応デバイスで利用できます。

ボタンによるワンタッチページング

 ヘッダのタイトルボタンまたはコードで、簡単にページングができます。ページングの単位は、年、月、週、日などを指定でき、「今日へ移動」ボタンで簡単に今日の予定に移動できます。

月単位のページングと「今日へ移動」ボタン
月単位のページングと「今日へ移動」ボタン
週表示の場合は週単位でページングできる
週表示の場合は週単位でページングできる

GcCalendarGridコントロールの構成

 GcCalendarGridコントロールは、以下の部位から構成されています。

タイトルヘッダ

 カレンダーの上部にある見出しやボタンのための領域です。既定のカレンダーでは現在の年月を示すラベルと、前の月、次の月および今日の日付に移動するためのボタンが配置されています。これらのラベルとボタンは開発者がカスタマイズできます。

タイトルフッタ

 カレンダーの下部にある見出しやボタンのための領域です。既定のカレンダーではアイテムが空のため表示されません。タイトルヘッダと同じように、カレンダーのキャプションや操作ボタンを配置できます。

ボディ

 カレンダーの中央にある、コンテンツを表示するための領域です。タイトルヘッダとタイトルフッタの中間で、空白を含む領域を示します。この中にカレンダー領域があります。

カレンダー領域

 コンテンツの余白を除いた部分です。ここに曜日や週番号、日付や日付に対応するセルを表示します。

ナビゲーションバー

 スクロールバーのような外観と操作でカレンダーの日付を移動するためのコントロールです。ナビゲーションバーは既定では表示されません。また、スクロールバーと違い、常に表示されています。

スクロールバー

 カレンダーの表示範囲を移動します。既定では、スクロールバーはスクロールが必要なときのみに表示されます。スクロール単位をセル単位またはピクセル単位に切り替えることができます。

GcCalendarGridコントロールのコントロールの構成
GcCalendarGridコントロールのコントロールの構成

次のページ
GUIの作成

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

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

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

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

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

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7913 2014/08/20 19:40

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング