Winforms 切换DataGridView行选择,其中SelectionMode为FullRowSelect
我有一个DataGridView,其中SelectionMode=FullRowSelect,MultiSelect=False 当用户单击某一行时,会按预期选择该行。但是,再次单击同一行不会取消选择该行Winforms 切换DataGridView行选择,其中SelectionMode为FullRowSelect,winforms,datagridview,Winforms,Datagridview,我有一个DataGridView,其中SelectionMode=FullRowSelect,MultiSelect=False 当用户单击某一行时,会按预期选择该行。但是,再次单击同一行不会取消选择该行 如何进行行选择以在选定和未选定之间切换?据我所知,没有现成的功能可以做到这一点 我通过以下代码实现了您所要求的效果: public partial class Form1 : Form { private bool selectionChanged; public Form1
如何进行行选择以在选定和未选定之间切换?据我所知,没有现成的功能可以做到这一点 我通过以下代码实现了您所要求的效果:
public partial class Form1 : Form
{
private bool selectionChanged;
public Form1()
{
InitializeComponent();
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (!selectionChanged)
{
dataGridView1.ClearSelection();
selectionChanged = true;
}
else
{
selectionChanged = false;
}
}
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
selectionChanged = true;
}
}
它使用dataGridView的SelectionChanged和CellClick事件,以及保存选择状态的类级变量。非常好,谢谢。我在一个类中使用了一个小小的变体,该类通过重写InitLayout扩展DataGridView并注册事件。