PrintPreviewDialog – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

PrintPreviewDialog – .NET – Fórum – Programujte.comPrintPreviewDialog – .NET – Fórum – Programujte.com

 

zonda0
Stálý člen
22. 12. 2008   #1
-
0
-

Neviem ako nastaviť v printPreviewDialogu viac ako náhľad jedného dokumentu .
Lebo náhľad jedného documentu jetak
..
printPreviewDialog.Document = this.document;
..

Ale ako nastaviť aby som mal viac dokumentov ??

Dík

Nahlásit jako SPAM
IP: 78.99.32.–
Všetko by malo byt urobene tak jednoducho ako je možne ale nie jednoducho :) .Albert Einstein [br] ----------------------------------------- [br] Ak nájdete chyby v text tak sorri :P.
rudolf_franek0
Stálý člen
22. 12. 2008   #2
-
0
-

Souhlasi, ze this.document je ?:

PrintDocument document;

..
printPreviewDialog.Document = this.document;
Pokud ano, pak si bud vytvor dalsi objet typu PrintDocument s vlastnim "renderingem" a muzes je stridat pro dany preview dialog.
if(seMiChce)

{
printPreviewDialog.Document = document1;
}
else
{
printPreviewDialog.Document = document2;
}


Ale pokud chces vytisknout vice stranek s jednim dokumentem ? Pak je treba vzdy nastavit
void printDocument1_PrintPage(

object sender, PrintPageEventArgs e)
{
//TODO: nejak si ohandlovat cisla stranek
e.HasMorePages = true;
// tim se vyvola PrintPage znovu
}


Napriklad zhruba nasledovne:
int pageNr;

int pocetStranek = 10;

void printDocument1_PrintPage(
object sender, PrintPageEventArgs e)
{
pageNr++;
vytiskniStranku(pageNr, e.Graphics);
if (pageNr < pocetStranek)
{
e.HasMorePages = true;
}
}

void button1_Click(object sender, EventArgs e)
{
pageNr = 0;
printPreviewDialog1.ShowDialog(this);
}

void vytiskniStranku(int cislo, Graphics g)
{
g.DrawString(
cislo.ToString(),
new Font(Font.FontFamily, 60f, FontStyle.Regular),
new SolidBrush(ForeColor),
new PointF(10f, 10f));
}

Nahlásit jako SPAM
IP: 90.178.66.–
zonda0
Stálý člen
22. 12. 2008   #3
-
0
-

ja som myslel že máš dve strany a to : document 1 a documet 2

A chcem aby mi v printPreviewDialog ukázalo náhľad obydvoch stránok (document1 , documet2) naraz a to documetn 1 by bol na prvej strane a document 2 na druhej strane

Neviete ako to dosiahnuť ???

rudolf_franek : dík za to ale ja mám dve strany kde má nastavené súradnice a ked to dám do jedného documentu a dám ten document do printPreviewDialogu tak my to nakreslí cez seba !!
A nechce sa mi všade meniť súradnice lebo je tam toho veľmi veľa ale ak nebudem mať inú možnosť tak to urobím po tvojom .

Nahlásit jako SPAM
IP: 78.99.32.–
Všetko by malo byt urobene tak jednoducho ako je možne ale nie jednoducho :) .Albert Einstein [br] ----------------------------------------- [br] Ak nájdete chyby v text tak sorri :P.
zonda0
Stálý člen
22. 12. 2008   #4
-
0
-

už to mám upravil som to tvoje a vyzera to tak



int pageNr;
int pocetstran = 2;

private void button1_Click(object sender, EventArgs e)
{
pageNr = 0;
printPreviewDialog1.ShowDialog(this);
}

private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
pageNr++;
if (pageNr <= pocetstran)
{
if (pageNr == 1)
{
vytiskniStranku1(e.Graphics);
e.HasMorePages = true;
}
else if (pageNr == 2)
{
vytiskniStranku2(e.Graphics);
}
}
}

private void vytiskniStranku2(Graphics g)
{
Pen p = new Pen(Color.Black, 5);
g.DrawRectangle(p, 50, 100, 50, 100);
}

private void vytiskniStranku1(Graphics g)
{
Pen p = new Pen(Color.Black, 5);
g.DrawRectangle(p,50,100,30,40);
}

Nahlásit jako SPAM
IP: 78.99.32.–
Všetko by malo byt urobene tak jednoducho ako je možne ale nie jednoducho :) .Albert Einstein [br] ----------------------------------------- [br] Ak nájdete chyby v text tak sorri :P.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 5 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý