【问题标题】:Resize MSChart to Fit Pagesize Before Printing打印前调整 MSChart 大小以适合页面大小
【发布时间】:2012-10-21 11:46:17
【问题描述】:

我正在努力弄清楚如何在打印时让 MSChart 填满整个页面。有人可以告诉我为什么下面的代码不起作用和/或建议另一种方法。我为我的无知道歉,但到目前为止我所做的所有打印都是通过 Crystal 和其他报告框架完成的,所以我通常不必直接使用 PrintDialog 和 PrintPreviewDialog。提前致谢。

// Printing Code
Size pageSize = new Size(this.Chart.Printing.PrintDocument.DefaultPageSettings.PaperSize.Width, this.Chart.Printing.PrintDocument.DefaultPageSettings.PaperSize.Height);
this.Chart.Size = pageSize;

// This properly previews my chart but, it does not fill up the page                    
this.Chart.Printing.PrintPreview();

【问题讨论】:

    标签: c# winforms printing charts


    【解决方案1】:

    好的,所以我终于想出了如何完成我想做的事情。归结为我不了解如何将 PrintDocument 与 Graphics 对象一起使用。我用来完成任务的代码如下。我真的希望这对某人有所帮助。此外,我强烈推荐 MSFT 图表示例代码。在我创建这些图表时,事实证明它对我来说是无价的。链接为:http://archive.msdn.microsoft.com/mschart/Release/ProjectReleases.aspx?ReleaseId=4418

        public void PrintPreviewIncompleteJobsByStatus()
        {
            // Set new print document with custom page printing event handler
            chart.Printing.PrintDocument = new PrintDocument();
            chart.Printing.PrintDocument.PrintPage += new PrintPageEventHandler(ChartGenericFormat_PrintPage);
    
            chart.Printing.PrintDocument.DefaultPageSettings.Landscape = true;
    
            // Print preview chart
            chart.Printing.PrintPreview();
        }
    
        private void ChartGenericFormat_PrintPage(object sender, PrintPageEventArgs ev)
        {
            // Calculate first chart position rectangle
            Rectangle chartPosition = new Rectangle(ev.MarginBounds.X, ev.MarginBounds.Y, ev.MarginBounds.Width, ev.MarginBounds.Height);
    
            // Draw chart on the printer graphics
            chart.Printing.PrintPaint(ev.Graphics, chartPosition);
    
        }
    

    【讨论】:

      猜你喜欢
      • 2012-09-15
      • 1970-01-01
      • 2011-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-26
      • 1970-01-01
      • 2012-11-26
      相关资源
      最近更新 更多