DataGridViewは、Windowsフォームアプリケーションでデータを表示および編集するために使用されるとても便利なコントロールです。
この記事では、DataGridViewの背景色を変更する方法について説明します。
ユーザーフォームの作成: PowerShellでユーザーフォームを作成する
DataGridViewの作成: PowerShell DataGridViewにデータを表示する
DataGridViewにデータを表示する
DataGridViewにデータを表示する一連の処理は、以下のように記述することができます。
# Windows Formsアセンブリを読み込む
Add-Type -AssemblyName System.Windows.Forms
# 新しいフォームを作成
$form = New-Object Windows.Forms.Form
$form.Size = New-Object Drawing.Size(400, 300)
$form.Text = "DataGridViewのサンプル"
# データグリッドビュー
$Grid = New-Object System.Windows.Forms.DataGridView
$Grid.Size = "350,200"
# 列数
$Grid.ColumnCount = 3
# 列タイトル
$Grid.Columns[0].Name = "番号"
$Grid.Columns[1].Name = "氏名"
$Grid.Columns[2].Name = "年齢"
# DataGridViewをフォームに追加
$form.Controls.Add($Grid)
$Item = "01","山田 太郎","20"
[void]$Grid.Rows.Add($Item[0],$Item[1],$Item[2])
# フォームを表示
$form.ShowDialog()
実行すると、以下のように表示されます。
DataGridViewの背景色を変更する
このDataGridViewの背景色(グレーの部分)を変更するには、BackgroundColor プロパティを使用します。
# DataGridViewの背景色を黄色に設定
$Grid.BackgroundColor = "Yellow"
実行すると、以下のように表示されます。
背景色が黄色に設定されました。
DataGridViewのセルの背景色を変更する
DataGridViewのすべてのセルの背景色を変更するには、DefaultCellStyleプロパティを使用します。
# DataGridViewのセルの背景色を薄い黄色に設定
$Grid.DefaultCellStyle.BackColor = "#FFFFEFD5"
実行すると、以下のように表示されます。
セルの背景色が薄い黄色に設定されました。
DataGridViewの行ヘッダーの背景色を変更する
DataGridViewの行ヘッダの背景色を変更するには、RowHeadersDefaultCellStyleプロパティを使用します。
# DataGridViewの行ヘッダの背景色を青色に設定
$Grid.RowHeadersDefaultCellStyle.BackColor = "Blue"
実行すると、以下のように表示されます。
行ヘッダが青色に変更されませんでした。
これは、EnableHeadersVisualStylesが有効になっているため、Powershellで設定した色ではなく、Windowsのテーマに合った外観が優先されるためです。
Powershellで設定した色を使用したい場合は、EnableHeadersVisualStylesを無効に設定します。
$Grid.EnableHeadersVisualStyles= $false;
実行すると、以下のように表示されます。
左側の行ヘッダの背景色が青色になりました。
DataGridViewの列ヘッダーの背景色を変更する
DataGridViewの列ヘッダの背景色を変更するには、ColumnHeadersDefaultCellStyleプロパティを使用します。
# DataGridViewの列ヘッダの背景色を青色に設定
$Grid.ColumnHeadersDefaultCellStyle.BackColor = "Green"
実行すると、以下のように表示されます。
上の列ヘッダの背景色が緑色になりました。
完全なコード
DataGridViewの背景色を設定する一連の処理は、以下のように記述することができます。
# Windows Formsアセンブリを読み込む
Add-Type -AssemblyName System.Windows.Forms
# 新しいフォームを作成
$form = New-Object Windows.Forms.Form
$form.Size = New-Object Drawing.Size(400, 300)
$form.Text = "DataGridViewのサンプル"
# データグリッドビュー
$Grid = New-Object System.Windows.Forms.DataGridView
$Grid.Size = "350,200"
# Visualスタイルを使用しない
$Grid.EnableHeadersVisualStyles= $false;
# DataGridViewの背景色を黄色に設定
$Grid.BackgroundColor = "Yellow"
# DataGridViewのセルの背景色を薄い黄色に設定
$Grid.DefaultCellStyle.BackColor = "#FFFFEFD5"
# DataGridViewの行ヘッダの背景色を青色に設定
$Grid.RowHeadersDefaultCellStyle.BackColor = "Blue"
# DataGridViewの列ヘッダの背景色を青色に設定
$Grid.ColumnHeadersDefaultCellStyle.BackColor = "Green"
# 列数
$Grid.ColumnCount = 3
# 列タイトル
$Grid.Columns[0].Name = "番号"
$Grid.Columns[1].Name = "氏名"
$Grid.Columns[2].Name = "年齢"
# DataGridViewをフォームに追加
$form.Controls.Add($Grid)
$Item = "01","山田 太郎","20"
[void]$Grid.Rows.Add($Item[0],$Item[1],$Item[2])
# フォームを表示
$form.ShowDialog()
まとめ
今回は、PowerShellでDataGridViewの背景色を変更する方法について説明しました。