【问题标题】:Selecting entire row in DataGridView programmatically (without using ...Rows[].Selected)以编程方式选择 DataGridView 中的整行(不使用 ...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;
    }

它可以工作,但问题是它太慢了!当我点击单元格时,整行被选中,但它在视觉上很糟糕。我可以看到单元格被选中,延迟后整行被选中,但延迟太长了。有没有更快(或更好)的方法来做到这一点?或者也许有更好的控制可以做到这一点?我还希望能够以不同的字体呈现行(例如:更改列表中同一艺术家的字体颜色)。 我愿意接受所有建议。 谢谢!

【问题讨论】:

    标签: c# datagridview


    【解决方案1】:
    DataViewGrid1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
    

    将通过单击行的标题或该行中包含的单元格来选择整行。

    如果您想根据单元格中的值进行着色,this 之类的东西就可以了。

    【讨论】:

    • 这很有帮助,但是...第一次单击网格中的某个单元格时,它会选择然后取消选择该单元格(非常快速)而不选择一行。任何其他时间(单击)效果都很好。知道为什么会这样吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    • 2011-10-19
    相关资源
    最近更新 更多