DataGridView同时支持RowSelect, ColumnSelect和CellSelect

DataGridView有好几种选择模式:

CellSelect: 只支持单元格选取, 不能整行或者整列选取

FullRowSelect: 只能整行选取

FullColumnSelect: 只能整列选取

RowHeaderSelect: 同时支持整行选取和单元格选取 (等于 CellSelect + FullRowSelect) 

ColumnHeaderSelect: 同时支持整列选取和单元格选取 (等于Cell Select + FullColumnSelect)

 

这些选择方式已经能满足大部分的引用场景,但是有一种场景不能满足,就是我们有时候需要同时支持单元格选取,整行和整列选取,但是没有对应的模式可以用,不过我们可以自己加几行代码实现。

方法:在鼠标点击RowHeader的时候切换到RowHeaderSelect模式,在鼠标点击ColumnHeader的时候在切换到ColumnHeaderSelect

事件:RowHeaderMoseClick() 和 ColumnHeaderMouseClick()

private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
       DataGridView dgv = (DataGridView)sender;
       dgv.SelectionMode = DataGridViewSelectionMode.RowHeaderSelect;
       dgv.Rows[e.RowIndex].Selected = true;
}

private void dataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
       DataGridView dgv = (DataGridView)sender;
       dgv.SelectionMode = DataGridViewSelectionMode.ColumnHeaderSelect;
       dgv.Columns[e.ColumnIndex].Selected = true;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值