2017-04-30 7 views
0
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(); 
    } 

Ceci est mon code. J'ai fait mon code, donc après avoir obtenu ce que je veux imprimer, il ouvre un dialong aperçu avant impression et il a permuté le bouton d'impression pour un bouton dial dial, qui à la fin l'imprime. J'ai trouvé comment faire cela dans une question dans stackoverflow.Erreur C# dans printdocument et la boîte de dialogue fonctionne dans VS mais pas après la publication de mon projet

De toute façon cela fonctionne parfaitement bien dans Visual Studio avec le débogage. Mais quand je publie le projet, il me donne this error.

Si quelqu'un sait quoi faire à ce sujet je l'apprécierais grandement car je ne peux pas trouver exactement pourquoi c'est comme ça, en attendant, je suis à la recherche d'un solution de contournement.

Merci d'avance!

Cordialement Thomas!

+0

Vous obtiendrez un demi-million de résultats lorsque vous google "paramètres de formulaires Windows non valide". Très douteux que vous en aurez besoin d'un de plus. –

+0

Franchement, il fallait juste penser à ne même pas googler, car il était évident qu'il manquait quelque chose, mais pas exactement quoi. :) –

Répondre

0

Donc, si quelqu'un rencontre le même problème et trouve cela, la correction était en fait assez facile, mais m'a pris un peu de temps pour localiser. Mon problème était le fait que je produisais des images bitmap à partir de fichiers que j'avais dans mon dossier de projet, mais je ne les ai pas ajoutés aux sources. Donc quand j'ai publié mon programme, ceux-ci n'ont pas été transférés avec. La solution simple est de les ajouter simplement rescources cul et les générer à partir de là Remplacer:

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

Avec:

logo = Properties.Resources.Pgd_glava; 

est vraiment une erreur de débutant en mon nom, mais je n'a jamais publié les programmes J'ai fait jusqu'à ce point.

+0

Vous avez échangé un bug contre un autre. Ce code crée * deux * objets Bitmap. L'un d'eux ne sera jamais disposé, celui créé par la propriété Pgd_glava. Faire une copie en profondeur avec le constructeur Bitmap n'est pas utile, il suffit d'utiliser logo = Properties.Resource.Pgd_glava; –

+0

Merci pour le conseil :) –