printdocument和对话框中的C#错误在VS中有效,但在发布项目后却没有

时间:2017-04-30 15:02:22

标签: c# visual-studio printdocument printdialog

private void bPrint_Click(object sender, EventArgs e)
    {
        curitems = 1;
        page = 1;
        count = 1;
        printDocument1.DocumentName = tBPor.Text;
        logo = new Bitmap("Pgd_glava.jpg",true);
        printDialog1.Document = printDocument1;
        printDialog1.AllowSelection = true;
        printDialog1.AllowSomePages = true;
        printPreviewDialog1.Document = printDocument1;
        ToolStripButton b = new ToolStripButton();
        b.Image = new Bitmap("print.png");
        b.DisplayStyle = ToolStripItemDisplayStyle.Image;
        b.Click += printPreview_PrintClick;
        ((ToolStrip)(printPreviewDialog1.Controls[1])).Items.RemoveAt(0);
        ((ToolStrip)(printPreviewDialog1.Controls[1])).Items.Insert(0, b);
        printPreviewDialog1.Document = printDocument1;
        printPreviewDialog1.ShowDialog();
    }

这是我的代码。我制作了我的代码,所以在我得到我想要打印的内容之后,它打开了一个打印预览拨号,并在其中交换了一个打印拨号按钮的打印按钮,最后将其打印出来。我在stackoverflow中的一个问题中找到了如何做到这一点。

无论如何,这在Visual Studio中通过调试完美地运行。但是当我发布它给我的项目时 this error.

如果有人知道如何处理这个问题,我会非常感激,因为我无法确切地找到为什么会这样,同时我正在寻找一种解决方法。

提前致谢!

关心托马斯!

1 个答案:

答案 0 :(得分:0)

因此,如果有人遇到同样的问题,并发现这个修复实际上非常简单,但花了我一点时间来精确定位。我的问题是我从我的项目文件夹中的文件生成位图图像,但没有将它们添加到rescources。因此,当我发布我的程序时,那些不会随之转移。简单的解决方法是只添加它们的ass资源并从那里生成它们 替换:

logo = new Bitmap("Pgd_glava.jpg",true);

使用:

logo = Properties.Resources.Pgd_glava;

对我来说真的是一个新手的错误,但我从来没有公布过我直到现在制作的程序。