gpt4 book ai didi

C# ListView Detail,高亮单个单元格

转载 作者:可可西里 更新时间:2023-11-01 09:01:43 25 4
gpt4 key购买 nike

我在 C# 中使用 ListView 制作网格。我想找到一种能够以编程方式突出显示特定单元格的方法。我只需要突出显示一个单元格。

我已经尝试过 Owner Drawn 子项目,但是使用下面的代码,我得到了突出显示的单元格,但没有文本!有没有关于如何让它工作的想法?感谢您的帮助。

//m_PC.Location is the X,Y coordinates of the highlighted cell.


void listView1_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
{
if ((e.ItemIndex == m_PC.Location.Y) && (e.Item.SubItems.IndexOf(e.SubItem) == m_PC.Location.X))
e.SubItem.BackColor = Color.Blue;
else
e.SubItem.BackColor = Color.White;
e.DrawBackground();
e.DrawText();
}

最佳答案

您可以在没有所有者绘制列表的情况下执行此操作:

// create a new list item with a subitem that has white text on a blue background
ListViewItem lvi = new ListViewItem( "item text" );
lvi.UseItemStyleForSubItems = false;
lvi.SubItems.Add( new ListViewItem.ListViewSubItem( lvi,
"subitem", Color.White, Color.Blue, lvi.Font ) );

ListViewSubItem 构造函数的 Color 参数控制子项的前景色和背景色。这里要做的关键是将列表项上的 UseItemStyleForSubItems 设置为 False,否则您的颜色更改将被忽略。

我认为您的所有者绘制解决方案也可以,但您必须记住在将背景更改为蓝色时更改文本(前景)颜色,否则文本将很难看清。

关于C# ListView Detail,高亮单个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/215248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com