-1

RGB 値を使用してさまざまなセルの境界線の色を変更してランダムな色を生成する方法を理解した後、各セルの背景色も変更したいと考えています。用DataGridViewです。以下は、セルの境界線の色を変更できる関連コードで、そのコードのどこかに各セルの背景色を変更する方法がありますが、フリーウェアからのものであるため、このコードには慣れていません。各セルの背景色に影響を与えるために、このコードで何を変更する必要があるか知っている人はいますか?

これが私のコードです:

http://pastebin.com/WNBReUys

4

2 に答える 2

0

背景色を印刷するソリューションは、ブラシを使用する必要があることを除いて、ペン ソリューションに似ていますSolidBrush

Dim brushColor as New SolidBrush(someColor)

e.Graphics.FillRectangle(brushColor ,_
                         New Rectangle(ColumnLeft(ColPage, ColAt), _
                                       tmpTop, _
                                       ColumnWidth(ColPage, ColAt), _
                                       CellHeight))

この四角形にテキストやその他のグラフィックスを描画しているので、他のすべてのグラフィックスの前に背景色を最初にペイントする必要があることに注意してください。(そうしないと、テキストのない単色の四角形だけになってしまいます。)

于 2012-08-20T23:10:30.217 に答える
0

次のコードを使用して DataGrid BackColor を変更しました。通常、配列、テーブル、またはデータセットを DataGrid の DataSource として割り当てます。そのため、データ ソースである DataTable をループしてから、変更する行のインデックスを探します。

 Private Sub DataGridForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    dgr1.DataSource = TimeDifftbl
    dgr1.PreferredColumnWidth = 250
    Dim cellText As String
    Dim dr As DataRow
    For n As Integer = 0 To TimeDifftbl.Rows.Count - 1
        dr = TimeDifftbl.Rows(n)
        cellText = dr.Item(2)
        If cellText = "Tot. RunTime" Then
            dgr1.CurrentRowIndex = n
            dgr1.Select(n)
            dgr1.SelectionBackColor = BackColor.LightGray
        End If
    Next

End Sub
于 2014-01-22T21:39:48.320 に答える