807254150 2023-02-03 09:57 采纳率: 50%
浏览 59
已结题

Microsoft.ReportViewer.WinForms 预览打印显示

.net winform使用 Microsoft.ReportViewer.WinForms ReportViewer读取rdlc 报表预览,内容在win10系统125%分辨率不居中的情况,如何处理?目前除了手动更改分辨率没找到更好的办法。

  • 写回答

5条回答 默认 最新

  • 梦想橡皮擦 优质创作者: python技术领域 2023-02-03 10:05
    关注
    获得3.30元问题酬金

    来自 梦想橡皮擦 狂飙组基于 GPT 编写的问答软件

    你可以在RDLC报表的详细设计中通过调整控件的布局和大小来使其适应不同的分辨率。

    另外,你可以使用代码在运行时动态更改报表的控件的布局和大小,以适应当前的系统分辨率。

    具体来说,你可以在代码中读取当前的分辨率,然后在Microsoft.ReportViewer.WinForms控件中根据分辨率动态调整控件的布局和大小。

    以下是一个示例代码:

    private void Form1_Load(object sender, EventArgs e)
    {
        float dpi = this.CreateGraphics().DpiX;
        float scale = dpi / 96.0f;
    
        this.reportViewer1.ZoomMode = Microsoft.Reporting.WinForms.ZoomMode.PageWidth;
        this.reportViewer1.ZoomPercent = (int)(100 * scale);
    }
    

    该代码在加载窗口时读取当前分辨率,然后根据读取的分辨率计算缩放比例,并使用该缩放比例设置Microsoft.ReportViewer.WinForms控件的缩放百分比。

    评论

报告相同问题?

问题事件

  • 系统已结题 2月11日
  • 修改了问题 2月3日
  • 创建了问题 2月3日