投稿者 魔界の仮面弁士  (社会人) 投稿日時 2012/2/25 01:12:03
> (このサイトにあるScoreViewFormがDataGridViewの使用箇所です。)
どれが ScoreViewForm か分かりませんでしたが、
セルが着色されているの DataGridView のことでしょうか?

> このRowHeaderの値はFrameManagerに値によって逐次変更されていき、
FrameManager という用語や製品は聞いたことがありませんが、先の dosStudio の用語でしょうか?
名前だけで検索したら、このようなものが ヒットしましたが…。
http://www.mcframe.com/product/develop/frameManager.html


> また色を使って表現するため、DataGridViewとの連携はむずかしいかなと思ったのですが...
着色する場所や色は、データの内容またはセル位置によって決まるはずですよね。

データ数が多い場合は、色設定は各セルに対して直接指定するのではなく、
イベント処理を用いて指定した方が、都合が良いかと思います。
http://dobon.net/vb/dotnet/datagridview/index.html

たとえば下記では、5行ごとに背景色を黄色にしています。
また、セルに 1~3 のいずれかを入力すると、赤・緑・青になります。

Partial Public Class Form1
    Public Sub New()
        InitializeComponent()
        DataGridView1.AllowUserToAddRows = False
        DataGridView1.RowCount = 30
        DataGridView1.ColumnCount = 3
        DataGridView1.EditMode = DataGridViewEditMode.EditOnEnter
    End Sub

    Private Sub DataGridView1_CellFormatting(ByVal sender As Object, _
        ByVal e As DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting

        If (e.RowIndex + 1) Mod 5 = 0 Then
            e.CellStyle.BackColor = Color.Yellow
        End If

        If e.Value = "1" Then
            e.CellStyle.BackColor = Color.Red
        ElseIf e.Value = "2" Then
            e.CellStyle.BackColor = Color.Green
        ElseIf e.Value = "3" Then
            e.CellStyle.BackColor = Color.Blue
        End If
    End Sub
End Class