PowerTools CalendarGrid for Windows Forms 1.0J
サイドボタンを設定する(CalendarGcTimeSpanCellType)

CalendarGcTimeSpanCellType.SideButtonsプロパティを使用します。


ボタンの追加と削除

セルの左右両端にはサイドボタンとして自由にボタンを配置し機能を割り付けることができます。



セルにボタンを追加するには、SideButtonsプロパティが参照するSideButtonCollectionクラスを使用します。SideButtonCollectionクラスは、セルに追加するボタンオブジェクトのコレクションで、セルに追加可能なサイドボタンを追加、削除するためのメソッドを提供します。

セルには次の4種類のボタンオブジェクトを追加できます。

ボタンの追加や削除を行うには、デザイナのプロパティウィンドウから開かれるサイドボタン コレクション エディタから行うことができます。
また、コードでセルにボタンを追加するには、SideButtonCollectionクラスのAddまたはAddRangeメソッドを使用します。

以下は、Addメソッドを使用して CalendarGcTimeSpanCellTypeにシンボルボタンを追加する例です。
Imports InputManCell = GrapeCity.Win.CalendarGrid.InputMan

Dim today As DateTime = DateTime.Today
Dim GcTimeSpanCellType As New InputManCell.CalendarGcTimeSpanCellType()
' シンボルボタンを追加
GcTimeSpanCellType.SideButtons.Add(New InputManCell.SymbolButton())

GcCalendarGrid1.Content(today).Rows(1).Cells(0).CellType = GcTimeSpanCellType
GcCalendarGrid1.ScrollIntoView(today)
using InputManCell = GrapeCity.Win.CalendarGrid.InputMan;

var today = DateTime.Today;
var gcTimeSpanCellType = new InputManCell.CalendarGcTimeSpanCellType();
// シンボルボタンを追加
gcTimeSpanCellType.SideButtons.Add(new InputManCell.SymbolButton());

gcCalendarGrid1.Content[today].Rows[1].Cells[0].CellType = gcTimeSpanCellType;
gcCalendarGrid1.ScrollIntoView(today);
追加したボタンを削除するには、SideButtonCollectionクラスのRemoveメソッドまたは、RemoveAtメソッドを使用します。また、Clearメソッドでコレクションに追加されたすべてのボタンをクリアすることができます。

次のコードは、RemoveAtメソッドを使用してコレクションの先頭に追加されたボタンを削除する例です。
Imports InputManCell = GrapeCity.Win.CalendarGrid.InputMan

Dim today As DateTime = DateTime.Today
Dim gcTimeSpanCellType As InputManCell.CalendarGcTimeSpanCellType = _
    DirectCast(GcCalendarGrid1.Content(today).Rows(1).Cells(0).CellType, InputManCell.CalendarGcTimeSpanCellType)

' コレクションの先頭のボタンを削除
If gcTimeSpanCellType.SideButtons.Count > 0 Then
    gcTimeSpanCellType.SideButtons.RemoveAt(0)
End If
using InputManCell = GrapeCity.Win.CalendarGrid.InputMan;

var today = DateTime.Today;

InputManCell.CalendarGcTimeSpanCellType gcTimeSpanCellType =
    (InputManCell.CalendarGcTimeSpanCellType)gcCalendarGrid1.Content[today].Rows[1].Cells[0].CellType;

// コレクションの先頭のボタンを削除
if (gcTimeSpanCellType.SideButtons.Count > 0)
{
    gcTimeSpanCellType.SideButtons.RemoveAt(0);
}


デザイン機能

コントロールの機能のため、InputManCellでサポートされません。


外観の変更

各ボタンオブジェクトのPositionプロパティを使用するとボタンの表示位置を設定することができます。

それぞれの位置でのボタンの並びはコレクション内のインデックスによって決定されます。コレクション内のインデックスが小さい順に左から右へボタンが配置されます。
ボタンのサイズはセルの高さと各ボタンオブジェクトのWidthプロパティによって設定されます。

サイドボタンの背景色は各ボタンオブジェクトのBackColorプロパティで、前景色はForeColorプロパティで設定します。背景色と前景色はセルのFlatStyleプロパティがFlat、およびPopupの場合のみ有効となります。


(図) FlatStyle プロパティがFlatの場合


(図) FlatStyle プロパティがPopupの場合


プロパティによる動作の割り当て

各サイドボタンでは押されたときの動作をプロパティで割り当てることができます。

サイドボタンへのスピン動作の割り当て

SideButtonクラスは、サイドボタンにスピン動作を割り当てるBehaviorプロパティを提供します。また、Behaviorプロパティに設定した値により、IntervalプロパティとTextプロパティの初期値が自動的に変更されます。

Behaviorプロパティに設定可能な値は以下の通りです。

Behaviorの値 説明 Intervalプロパティの初期値 Textプロパティの初期値

None

スピン動作を割り当てません。

0

なし

SpinUp

スピンアップ(値を増加)の動作を割り当てます。

60

"+"

SpinDown

スピンダウン(値を減少)の動作を割り当てます。

60

"-"


サイドボタンに割り当てられるスピン機能の詳細については「スピンボタンの最適化」を参照してください。

シンボルボタンへのスピン動作の割り当て

SymbolButtonクラスは、サイドボタンにスピン動作を割り当てるBehaviorプロパティを提供します。また、Behaviorプロパティに設定した値により、Intervalプロパティ、SymbolプロパティおよびSymbolDirectionプロパティの初期値が自動的に変更されます。

Behaviorプロパティに設定可能な値は以下の通りです。

Behaviorの値 説明 Intervalプロパティの初期値 Symbolプロパティの初期値 SymbolDirectionプロパティの初期値

None

スピン動作を割り当てません。

0

None

Left

SpinUp

スピンアップ(値を増加)の動作を割り当てます。

60

Arrow

Up

SpinDown

スピンダウン(値を減少)の動作を割り当てます。

60

Arrow

Down


シンボルボタンに割り当てられるスピン機能の詳細については「スピンボタンの最適化」を参照してください。


参照

 

 


© 2014 GrapeCity inc. All rights reserved.