有谁能告诉我如何防止在datagridview控件中选择多个单元格?
答案 0 :(得分:8)
使用MultiSelect
属性
编辑:根据您要完成的内容,您可能还必须使用SelectionMode
属性
答案 1 :(得分:3)
答案 2 :(得分:0)
如果您希望防止控件从多个列中单击,可以执行以下操作:
private int nSelectedColumn = 0;
(在Datagridview上添加一个CellClick事件,并复制以下代码:)
private void dataGridView_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (Control.ModifierKeys == Keys.Shift || Control.ModifierKeys == Keys.Control)
{
if (_nSelectedColumn != 0)
{
if (_nSelectedColumn != e.ColumnIndex)
{
dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected = false;
if (Control.ModifierKeys == Keys.Shift)
dataGridView.ClearSelection();
}
}
else
_nSelectedColumn = e.ColumnIndex;
}
else
_nSelectedColumn = e.ColumnIndex;
}
还要确保启用了多重选择,并且SelectionMode设置为CellSelect。
效果是您可以控制列中的单击项,甚至可以平移同一列中的单击。当您控制该列之外的点击时,该单元格将取消选择;如果您将单击移至该列之外,则它将取消选择所有内容。