禁用按下CTRL时选择的DataGridView行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了禁用按下CTRL时选择的DataGridView行相关的知识,希望对你有一定的参考价值。
如果按下CTRL键并单击选定的DataGridViewRow,则取消选择该行。我怎么能阻止这个?
答案
这是使用Ctrl进行多选的标准行为。为什么要破坏用户的预期界面?你可以通过检测选择变化来破解它(我会看......)
(编辑) - 是的,如果你勾住SelectionChanged
似乎工作,例如:
DataGridViewRow[] lastSelectedRows = new DataGridViewRow[0];
void grid_SelectionChanged(object sender, System.EventArgs e) {
if ((Control.ModifierKeys & Keys.Control) == Keys.Control) {
foreach (DataGridViewRow row in lastSelectedRows) {
if (!row.Selected) row.Selected = true;
}
}
DataGridViewSelectedRowCollection selected = grid.SelectedRows;
lastSelectedRows = new DataGridViewRow[selected.Count];
selected.CopyTo(lastSelectedRows, 0);
}
以上是关于禁用按下CTRL时选择的DataGridView行的主要内容,如果未能解决你的问题,请参考以下文章
Datagridview Control键+鼠标点击取消选中行