我有一个以编程方式填充的Datagrid。我需要检查单元格中的颜色,但始终得到" {Name = 0,ARGB =(0,0,0,0)}"。 我的代码检查颜色:
Dim backColor As Color = DataGridViewMoney.Item(DataGridViewMoney.Rows.Count - 1, 0).Style.BackColor
如何解决这个问题? 感谢。
答案 0 :(得分:0)
更改Item(DataGridViewMoney.Rows.Count - 1, 0)
如果你想获得第一列(单元格),请Item(0,DataGridViewMoney.Rows.Count - 1)
。
试试这段代码:
Dim backColor As Color = DataGridViewMoney.Item(0, DataGridViewMoney.Rows.Count - 1).InheritedStyle.BackColor
然后你可以得到:
backColor.ToKnownColor.ToString
- 颜色名称(如果已知)或零
backColor.IsKnownColor
- 如果已知颜色,则为布尔值
backColor.Name
- 名称或十六进制值
backColor.ToString
- “颜色[名称]”或ARGB值
答案 1 :(得分:0)
您的代码存在问题:DataGridView.Item属性参数按此顺序为columnIndex
和rowIndex
。
另请注意,Empty
颜色({Name=0, ARGB=(0, 0, 0, 0)}
)是DataGridViewTextBoxCell
的标准颜色,因此此结果可能是正确的。
您可以使用此代码验证其是否有效:
'set a backcolor different from Empty
DataGridViewMoney.Item(0, DataGridViewMoney.Rows.Count - 1).Style.BackColor = Color.Aquamarine
'check backcolor
MsgBox(DataGridViewMoney.Item(0, DataGridViewMoney.Rows.Count - 1).Style.BackColor.ToString)