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

C++ Winforms中Datagridview编辑单元格时字体底部被裁剪如何解决

Sample datagridview

修复方案

你可以通过以下几个方法解决编辑状态下字体下划线被裁剪的问题:

  • 处理DataGridView的EditingControlShowing事件,给弹出的编辑文本框添加底部内边距,示例代码如下:
private: System::Void dataGridView1_EditingControlShowing(System::Object^ sender, System::Windows::Forms::DataGridViewEditingControlShowingEventArgs^ e) {
    TextBox^ editCtrl = dynamic_cast<TextBox^>(e->Control);
    if (editCtrl != nullptr) {
        // 底部预留3像素空间,可根据实际显示效果调整数值
        editCtrl->Padding = System::Windows::Forms::Padding(0, 0, 0, 3);
    }
}
  • 全局设置单元格默认样式的底部内边距,适配显示和编辑两种状态的渲染需求:
dataGridView1->DefaultCellStyle->Padding = System::Windows::Forms::Padding(0, 0, 0, 2);
  • 如果项目使用了自定义字体,额外指定编辑控件的字体和单元格显示字体完全一致,避免字体参数不匹配导致的高度计算错误:
editCtrl->Font = dataGridView1->DefaultCellStyle->Font;

内容的提问来源于stack exchange,提问作者Asyraf Arifin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 00:57:03