dav*_*d l 7 c# reportviewer winforms
我有一个Winforms应用程序(在Visual Studio 2010中),其中包含一个报表查看器控件,可以预览和打印A4大小的报表.
一个用户将其Windows字体大小设置为150%(即系统DPI更改),并且当他运行报表时,它在报表查看器预览和打印报表中缩小到2/3大小.
包含报表查看器的表单的AutoScaleMode属性设置为"字体",但如果我更改它,它似乎不会影响报表.
这不是字体(缺失/缩放)问题,因为我有一个示例程序来演示除了占据整个页面的矩形之外什么都不包含的问题.
我似乎需要一些方法在报告本身中指定它应该以96dpi呈现,无论系统dpi设置如何,但无法看到我可以指定的任何地方.我错过了什么?
谢谢,大卫
我遇到了同样的问题.WinForms ReportViewer已经具备DPI功能,并将自行扩展.您只需告诉系统您的应用程序是DPI识别的,以便系统不会尝试扩展它.
如果尚未添加清单,请在应用程序中添加清单,然后添加以下内容:
<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>true</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
Run Code Online (Sandbox Code Playgroud)
您也可以使用API函数SetProcessDPIAware,但建议不要使用:http: //msdn.microsoft.com/en-us/library/ms633543.aspx
| 归档时间: |
|
| 查看次数: |
7815 次 |
| 最近记录: |