作成日: 2022/07/13 最終更新日: 2022/07/13
文書種別
使用方法
詳細
セルのスタイルを設定するには、組み込みのスタイルを利用する方法、カスタムスタイルを作成する方法などがあります。

(1)組み込みのスタイルを利用する
組み込みのセル用スタイルとして、フォーカスを得たセル用、編集中のセル用があります。
※これ以外の組み込みスタイルは、行や列、グリッド全体などが対象になります。
このスタイルを設定してセルの外観を変更できます。
◎サンプルコード(VB)
(2)カスタムスタイルを作成して利用する
新しいカスタムスタイルを作成し、SetCellStyleメソッド、またはGetCellRangeで指定したセルのStyleプロパティに、このカスタムスタイルを設定します。
◎サンプルコード(VB)
(3)新規スタイルを直接セルに設定する
StyleNewプロパティを使用して、新規のスタイルを直接セルに設定します。
◎サンプルコード(VB)
(4)OwnerDrawCellイベントを利用する
DrawModeプロパティを「OwnerDraw」に設定し、OwnerDrawCellイベントを利用して、指定したセルにカスタムスタイルを適用します。
この方法は、セルスタイルの各種設定法のなかで最も優先順位が高く、他の方法で指定したスタイルはここでの設定により上書きされます。
◎サンプルコード(VB)

(1)組み込みのスタイルを利用する
組み込みのセル用スタイルとして、フォーカスを得たセル用、編集中のセル用があります。
※これ以外の組み込みスタイルは、行や列、グリッド全体などが対象になります。
このスタイルを設定してセルの外観を変更できます。
◎サンプルコード(VB)
' フォーカスを得たセルの組み込みスタイル
Dim cs1 As CellStyle = c1FlexGrid1.Styles.Focus
'CellStyle cs1 = c1FlexGrid1.Styless("Focus")
cs1.BackColor = Color.Red
' 編集中のセルの組み込みスタイル
Dim cs2 As CellStyle = c1FlexGrid1.Styles.Editor
'CellStyle cs2 = c1FlexGrid1.Styles("Editor")
cs2.BackColor = Color.Orange
◎サンプルコード(C#)
// フォーカスを得たセルの組み込みスタイル
CellStyle cs1 = c1FlexGrid1.Styles.Focus;
//CellStyle cs1 = c1FlexGrid1.Styles["Focus"];
cs1.BackColor = Color.Red;
// 編集中のセルの組み込みスタイル
CellStyle cs2 = c1FlexGrid1.Styles.Editor;
//CellStyle cs2 = c1FlexGrid1.Styles["Editor"];
cs2.BackColor = Color.Orange;
(2)カスタムスタイルを作成して利用する
新しいカスタムスタイルを作成し、SetCellStyleメソッド、またはGetCellRangeで指定したセルのStyleプロパティに、このカスタムスタイルを設定します。
◎サンプルコード(VB)
' (A) SetCellStyleメソッドで設定
' スタイルの登録
c1FlexGrid1.Styles.Add("style1")
c1FlexGrid1.Styles("style1").BackColor = Color.Aqua
' 登録したスタイルの利用
c1FlexGrid1.SetCellStyle(2, 2, "style1")
' (B) GetCellRangeで指定したセルのStyleを設定
' スタイルの登録
c1FlexGrid1.Styles.Add("style2")
c1FlexGrid1.Styles("style2").BackColor = Color.GreenYellow
' 登録したスタイルの利用
Dim cr As CellRange = c1FlexGrid1.GetCellRange(3, 2)
cr.Style = c1FlexGrid1.Styles("style2")
◎サンプルコード(C#)
// (A) SetCellStyleメソッドで設定
// スタイルの登録
c1FlexGrid1.Styles.Add("style1");
c1FlexGrid1.Styles["style1"].BackColor = Color.Aqua;
// 登録したスタイルの利用
c1FlexGrid1.SetCellStyle(2, 2, "style1");
// (B) GetCellRangeで指定したセルのStyleを設定
// スタイルの登録
c1FlexGrid1.Styles.Add("style2");
c1FlexGrid1.Styles["style2"].BackColor = Color.GreenYellow;
// 登録したスタイルの利用
CellRange cr = c1FlexGrid1.GetCellRange(3, 2);
cr.Style = c1FlexGrid1.Styles["style2"];
(3)新規スタイルを直接セルに設定する
StyleNewプロパティを使用して、新規のスタイルを直接セルに設定します。
◎サンプルコード(VB)
c1FlexGrid1.GetCellRange(3, 3).StyleNew.BackColor = Color.Lavender
◎サンプルコード(C#)
c1FlexGrid1.GetCellRange(3, 3).StyleNew.BackColor = Color.Lavender;
(4)OwnerDrawCellイベントを利用する
DrawModeプロパティを「OwnerDraw」に設定し、OwnerDrawCellイベントを利用して、指定したセルにカスタムスタイルを適用します。
この方法は、セルスタイルの各種設定法のなかで最も優先順位が高く、他の方法で指定したスタイルはここでの設定により上書きされます。
◎サンプルコード(VB)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
c1FlexGrid1.DrawMode = DrawModeEnum.OwnerDraw
AddHandler c1FlexGrid1.OwnerDrawCell, AddressOf c1FlexGrid1_OwnerDrawCell
c1FlexGrid1.Styles.Add("style3")
c1FlexGrid1.Styles("style3").BackColor = Color.Yellow
End Sub
Private Sub c1FlexGrid1_OwnerDrawCell(sender As Object, e As OwnerDrawCellEventArgs) Handles c1FlexGrid1.OwnerDrawCell
If e.Row = 4 AndAlso e.Col = 4 Then
e.Style = c1FlexGrid1.Styles("style3")
End If
End Sub
◎サンプルコード(C#)
private void Form1_Load(object sender, EventArgs e)
{
c1FlexGrid1.DrawMode = DrawModeEnum.OwnerDraw;
c1FlexGrid1.OwnerDrawCell += c1FlexGrid1_OwnerDrawCell;
c1FlexGrid1.Styles.Add("style3");
c1FlexGrid1.Styles["style3"].BackColor = Color.Yellow;
}
private void c1FlexGrid1_OwnerDrawCell(object sender, OwnerDrawCellEventArgs e)
{
if (e.Row == 4 && e.Col == 4)
{
e.Style = c1FlexGrid1.Styles["style3"];
}
}