1

我在 Visual Studio 2010 中使用 C# 4.0 和 MsCharts。当我执行

MyPlotChart.Printing.PrintPreview();

(请参阅http://msdn.microsoft.com/en-us/library/system.windows.forms.datavisualization.charting.printingmanager.printpreview)它按预期工作,但“打印预览”对话框显示默认图标。请问有没有办法使用我自己的图标?就像我对 PrintPreviewDialog.Icon 所做的一样(请参阅http://msdn.microsoft.com/en-us/library/system.windows.forms.printpreviewdialog.icon.aspx

谢谢。

4

3 回答 3

1

最后我为此写了一个hack。我添加了一个在调用 PrintPreview() 之前启用的 forms.timer。然后我在 Application.OpenForms 中找到该表单并设置图标。

    private void printPreviewToolStripMenuItem_Click(object sender, EventArgs e)
    {
        if (PrintPreviewIcon != null)
        {
            PrintPreviewTimer.Enabled = true;
        }

        PlotChart.Printing.PrintPreview();
    }

    private void PrintPreviewTimer_Tick(object sender, EventArgs e)
    {
        foreach (Form f in Application.OpenForms)
        {
            if (f is PrintPreviewDialog)
            {
                f.Icon = PrintPreviewIcon;
                PrintPreviewTimer.Enabled = false;
            }
        }
    }
于 2012-07-16T13:09:58.320 回答
0

我的回答,只需设置图标属性:

    public DialogResult ShowPrintPreview(float zoomFactor = 1F)
    {
        _nPageNumber = 1;
        _bPrintSel = false; 

        _previewDlg.PrintPreviewControl.Zoom = zoomFactor;
        _previewDlg.Size = new Size(1200, 800);
        _previewDlg.StartPosition = FormStartPosition.CenterScreen;

        _previewDlg.Icon = **PrintPreviewIcon**;
        return _previewDlg.ShowDialog(this);
    }

    public Icon PrintPreviewIcon { get; set; }
于 2016-07-03T13:29:30.650 回答
0

很久以后,但这有助于我找到解决方案:

(printPreviewToolStripMenuItem as Form).Icon = Properties.Resources.MonIcon;
于 2017-02-24T08:16:23.857 回答