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

下向きの矢印が描かれたボタンです。主にドロップダウンウィンドウを表示するために用いられます。GcTextBoxCellでは、エディットウィンドウをドロップダウン表示することが可能です。ドロップダウンの動作は、DropDownプロパティが参照するDropDownクラスにより次のようなプロパティを設定できます。

上下それぞれに矢印が描かれた2つのボタンが組み合わされたボタンです。主にセル内の値を増減するために用いられます。

標準のButtonコントロールと同じような外観を持つボタンです。ボタン上にはイメージとテキストを設定することができます。また、CheckOnClickプロパティを使用するとチェックボタンとして機能させることもできます。

SideButtonと同様、標準のButtonコントロールと似た外観を持ちますが、提供されたイメージの中からボタン上に表示する画像を設定することができます。イメージは、Symbolプロパティを使用して設定し、SymbolDirectionプロパティを使用してイメージの向きを設定することができます。
シンボルボタンにはテキストは表示できません。
コードによる設定
セルにボタンを追加するには、SideButtonsプロパティが参照するSideButtonCollectionのAdd またはAddRangeメソッドを使用します。SideButtonCollectionクラスは、セルに追加するボタンオブジェクトのコレクションで、セルに追加可能なサイドボタンを追加、削除するためのメソッドを提供します。
以下は、Addメソッドを使用してGcTextBoxCellにドロップダウンボタンを追加する例です。
Imports GrapeCity.Win.MultiRow
Imports InputManCell = GrapeCity.Win.MultiRow.InputMan
Dim GcTextBoxCell1 As New InputManCell.GcTextBoxCell()
GcTextBoxCell1.Name = "GcTextBoxCell1"
' ドロップダウンボタンを追加
GcTextBoxCell1.SideButtons.Add(New InputManCell.DropDownButton())
GcMultiRow1.Template = Template.CreateGridTemplate(New Cell() {GcTextBoxCell1})
using GrapeCity.Win.MultiRow;
using InputManCell = GrapeCity.Win.MultiRow.InputMan;
InputManCell.GcTextBoxCell gcTextBoxCell1 = new InputManCell.GcTextBoxCell();
gcTextBoxCell1.Name = "gcTextBoxCell1";
// ドロップダウンボタンを追加
gcTextBoxCell1.SideButtons.Add(new InputManCell.DropDownButton());
gcMultiRow1.Template = Template.CreateGridTemplate(new Cell[] { gcTextBoxCell1 });
また、追加したボタンオブジェクトのParentプロパティからは、ボタンが追加されたコントロールのオブジェクトを取得することができます。
追加したボタンを削除するには、SideButtonCollectionクラスのRemoveメソッドまたは、RemoveAtメソッドを使用します。また、Clearメソッドでコレクションに追加されたすべてのボタンをクリアすることができます。
以下は、RemoveAt メソッドを使用してコレクションの先頭に追加されたボタンを削除する例です。
このサンプルでは、テンプレートの Row セクションに [gcTextBoxCell1] が配置されていることを前提とします。
Imports InputManCell = GrapeCity.Win.MultiRow.InputMan
Dim GcTextBoxCell As InputManCell.GcTextBoxCell =
DirectCast(GcMultiRow1.CurrentRow.Cells("GcTextBoxCell1"), InputManCell.GcTextBoxCell)
' コレクションの先頭のボタンを削除
If GcTextBoxCell.SideButtons.Count > 0 Then
GcTextBoxCell.SideButtons.RemoveAt(0)
End If
using InputManCell = GrapeCity.Win.MultiRow.InputMan;
InputManCell.GcTextBoxCell gcTextBoxCell = (InputManCell.GcTextBoxCell)gcMultiRow1.CurrentRow.Cells["gcTextBoxCell1"];
// コレクションの先頭のボタンを削除
if (gcTextBoxCell.SideButtons.Count > 0)
{
gcTextBoxCell.SideButtons.RemoveAt(0);
}
デザイン画面での設定
デザイン画面ではサイドボタンの追加や削除ができる「サイドボタンの編集」エディタから容易な設定が可能です。 このエディタは次のいずれかの方法で起動でき、GcTextBoxCellに追加するサイドボタンを設定できます。
- セルのスマート タグから「サイドボタンの編集...」を選択
- プロパティウィンドウのSideButtonsプロパティをアクティブした時に表示される「…」ボタンを押下
サイドボタンおよびシンボルボタンは、スピン動作の機能を割り当てる以下のプロパティを提供していますが、GcTextBoxCellには既定のスピン動作が存在しないため、設定値に関わらず無効です。
各ボタンオブジェクトの
Positionプロパティを使用するとボタンの表示位置を設定することができます。
それぞれの位置でのボタンの並びはコレクション内のインデックスによって決定されます。コレクション内のインデックスが小さい順に左から右へボタンが配置されます。
ボタンのサイズはセルの高さと各ボタンオブジェクトのWidthプロパティによって設定されます。
サイドボタンの背景色は各ボタンオブジェクトの
BackColorプロパティで、前景色は
ForeColorプロパティで設定します。背景色と前景色はセルのFlatStyleプロパティがFlat、およびPopupの場合のみ有効となります。

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

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