我有一个DataGridView,其中每行的背景根据数据绑定项而不同.但是,当我选择一行时,我再也看不到它的原始背景颜色了.
为了解决这个问题,我想到了两个解决方案:
我可以将选择设置为半透明,从而可以查看两个选定的行是否具有不同的背景颜色.
要么; 我可以完全删除选择颜色,并在选定的行周围绘制边框.
什么选项更容易,我该怎么做?
这是一个WinForm应用程序.
编辑:我最终使用了一些代码,adrift
private void dgv_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
{
if (dgv.Rows[e.RowIndex].Selected)
{
var row = dgv.Rows[e.RowIndex];
var bgColor = row.DefaultCellStyle.BackColor;
row.DefaultCellStyle.SelectionBackColor = Color.FromArgb(bgColor.R * 5 / 6, bgColor.G * 5 / 6, bgColor.B * 5 / 6);
}
}
Run Code Online (Sandbox Code Playgroud)
这给人一种半透明选择颜色的印象.谢谢你的帮助!
我有一个清单:
var list = new List<List<int>>();
Run Code Online (Sandbox Code Playgroud)
哪个可以包含
list[0] = {1, 2, 3, 4}
list[1] = {3, 1, 2, 4}
list[2] = {2, 1, 7, 3}
Run Code Online (Sandbox Code Playgroud)
如何检测[0]和[1]之间的重复并删除其中一个?代码是c-sharp.
实际上它不是一个int,但这不应该改变问题.