我已经使用ssrs项目创建了一个设计精美的表单/报表,但我尝试使用ReportViewer Class通过winforms打印它,但是当我尝试打印它时(或者当我切换到打印预览时),出于某种原因,它会将其字体更改为一些奇怪的字体 注意:我尝试在设计器上和我本地计算机上的winforms中预览它,因此行为应该没有区别。
答案 0 :(得分:1)
我不打算把它作为Q& A风格,但在写我的问题的中间我想出来了:-)
在InitializeComponent()
文件中包含的form.designer.cs
方法中,您会发现visual studio正在设置Control.Font Property,这会导致控件在打印时获取这些属性。
所以我需要做的就是评论它。
请参阅下面的代码示例。
private void InitializeComponent()
{
this.reportViewer1 = new Microsoft.Reporting.WinForms.ReportViewer();
this.btnRender = new System.Windows.Forms.Button();
this.tbPickList = new System.Windows.Forms.TextBox();
this.cbImmidiatePrint = new System.Windows.Forms.CheckBox();
this.btnPrint = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// reportViewer1
//
this.reportViewer1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
//this.reportViewer1.Font = new System.Drawing.Font("Arial Rounded MT Bold", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.reportViewer1.Location = new System.Drawing.Point(12, 54);
this.reportViewer1.Name = "reportViewer1";
this.reportViewer1.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Remote;
this.reportViewer1.ServerReport.ReportPath = "/Reports/PackingSlips/BestBuy";
this.reportViewer1.ServerReport.ReportServerUrl = new System.Uri("http://ssrs1/reportserver", System.UriKind.Absolute);
this.reportViewer1.ShowToolBar = false;
this.reportViewer1.Size = new System.Drawing.Size(999, 641);
this.reportViewer1.TabIndex = 0;
}