You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中如何禁用DataGridView行调整大小及行水平线点击?

禁用DataGridView行大小调整及行分隔线点击事件的解决方案

1. 全局禁用行高调整基础设置

先确保在设计时或运行时设置核心属性:

// 全局禁止用户手动调整所有行的高度
dataGridView1.AllowUserToResizeRows = false;
// 禁用行头宽度调整(若不需要行头可调整)
dataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing;

2. 修正单独行的权限设置

如果全局设置无效,大概率是部分行的Resizable属性被单独开启,需遍历强制禁用:

foreach (DataGridViewRow row in dataGridView1.Rows)
{
    // 强制禁用当前行的手动调整权限
    row.Resizable = DataGridViewTriState.False;
}

3. 拦截行分隔线的交互事件

即使完成上述设置,部分场景下用户点击行分隔线仍可能触发调整,需通过事件拦截彻底禁用:

// 拦截行分隔线鼠标按下事件,阻断后续操作
private void dataGridView1_RowDividerMouseDown(object sender, DataGridViewRowDividerMouseEventArgs e)
{
    e.Handled = true;
}

// 拦截行分隔线双击事件,阻止自动调整行高
private void dataGridView1_RowDividerDoubleClick(object sender, DataGridViewRowDividerDoubleClickEventArgs e)
{
    e.Handled = true;
}

4. 排查自动行高模式干扰

若开启了自动调整行高模式,可能会覆盖手动禁用设置,可根据需求调整:

// 设置为完全由代码控制行高(可选,根据业务场景取舍)
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None;

内容的提问来源于stack exchange,提问作者ABOU-YOUSSEF EL Mehdi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 20:12:33