以编程方式选择 DataGridView 中的整行(不使用 ...Rows[].Selected)
Posted
技术标签:
【中文标题】以编程方式选择 DataGridView 中的整行(不使用 ...Rows[].Selected)【英文标题】:Selecting entire row in DataGridView programmatically (without using ...Rows[].Selected) 【发布时间】:2017-03-01 19:33:24 【问题描述】:我一直在尝试使用 DataGridView 创建 Mp3 列表来显示信息。我想在运行时添加数据,并且我有诸如艺术家、歌曲名称、评级、路径之类的列...但我希望能够在选择单元格时选择整行。我为此使用了这段代码:
private void DataViewGrid1_MouseClick(object sender, MouseEventArgs e)
int rindex = DataViewGrid1.CurrentCell.RowIndex;
DataViewGrid1.Rows[rindex].Selected = true;
它可以工作,但问题是它太慢了!当我点击单元格时,整行被选中,但它在视觉上很糟糕。我可以看到单元格被选中,延迟后整行被选中,但延迟太长了。有没有更快(或更好)的方法来做到这一点?或者也许有更好的控制可以做到这一点?我还希望能够以不同的字体呈现行(例如:更改列表中同一艺术家的字体颜色)。 我愿意接受所有建议。 谢谢!
【问题讨论】:
【参考方案1】:DataViewGrid1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
将通过单击行的标题或该行中包含的单元格来选择整行。
如果您想根据单元格中的值进行着色,this 之类的东西就可以了。
【讨论】:
这很有帮助,但是...第一次单击网格中的某个单元格时,它会选择然后取消选择该单元格(非常快速)而不选择一行。任何其他时间(单击)效果都很好。知道为什么会这样吗?以上是关于以编程方式选择 DataGridView 中的整行(不使用 ...Rows[].Selected)的主要内容,如果未能解决你的问题,请参考以下文章