<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>WinForms</title><link>https://www.dotnetzone.gr:443/cs/forums/12/ShowForum.aspx</link><description>Θέματα για rich client / windows εφαρμογές, σε οποιαδήποτε γλώσσα (VB.NET, C#, managed C++, κ.α.)</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Re: Βοήθεια σε Print Document</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/33187.aspx</link><pubDate>Wed, 27 Jun 2007 00:30:29 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:33187</guid><dc:creator>mambo jumbo</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/33187.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=33187</wfw:commentRss><description>Οκ νομίζω πως το βρήκα...&lt;br&gt;&lt;br&gt;&lt;br&gt;μέσα στο custom &lt;font face="Times New Roman" size="6"&gt;&lt;span style="font-size:10pt;font-family:'Times New Roman';"&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Times New Roman';"&gt;PrintDocument &lt;/span&gt;&lt;/font&gt;πρέπει &lt;font face="Times New Roman" size="6"&gt;&lt;span style="font-size:10pt;font-family:'Times New Roman';"&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Times New Roman';"&gt;&lt;/span&gt;&lt;/font&gt;να κάνουμε override την OnQueryPageSettings και εκεί μέσα να ορίσουμε το Landscape της currnet page του  &lt;font face="Times New Roman" size="6"&gt;&lt;span style="font-size:10pt;font-family:'Times New Roman';"&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Times New Roman';"&gt;PrintDocument :&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected override void OnQueryPageSettings(QueryPageSettingsEventArgs e)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; base.OnQueryPageSettings(e);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (this.IsPageLandscape(this.PageNumber)) //εδώ ελέγχω αν πρέπει να τυπώσω σε landscape ή portrait κάνοντας χρήση ενός custom property...&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.PageSettings.Landscape = true;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.PageSettings.Landscape = false;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;για περισσότερες &lt;span style="font-size:12pt;font-family:'Times New Roman';"&gt;πληροφορίες &lt;/span&gt;http://msdn2.microsoft.com/en-us/library/system.drawing.printing.printdocument.querypagesettings(VS.71).aspx&lt;br&gt;για να δουλέψει το συγκεκριμένο αντί για &lt;font size="2"&gt;e.Graphics.DrawImage(img,e.MarginBounds); χρησιμοποιώ &lt;/font&gt;&lt;font size="2"&gt;e.Graphics.DrawImage(img,0,0); και δεν προσθέτω την γραμμή που σχεδιάζει το Rectangle...&lt;br&gt;&lt;/font&gt;</description></item><item><title>Απ: Re: Βοήθεια σε Print Document</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/33184.aspx</link><pubDate>Tue, 26 Jun 2007 23:08:27 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:33184</guid><dc:creator>mambo jumbo</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/33184.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=33184</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Παναγιώτης Καναβός:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Το PrintDocument δεν έχει properties BackColor, ForeColor, BackgroundImage κλπ όπως η φόρμα. Για να τυπώσεις μία σελίδα θα πρέπει στο PrintPage event να ζωγραφίσεις κατευθείαν στο αντικείμενο Graphics που σου δείνει το PrintEventArgs. &lt;br&gt;Ο παρακάτω κώδικας ζωγραφίζει μια εικόνα και από πάνω της ένα string και μια έλλειψη. :&lt;br&gt;&lt;font color="#0000ff" size="2"&gt;&lt;br&gt;private&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;font size="2"&gt; printDocument1_PrintPage(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;object&lt;/font&gt;&lt;font size="2"&gt; sender, System.Drawing.Printing.PrintPageEventArgs e)&lt;br&gt;{ &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.PageSettings.Landscape=(pageCount==2);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.Graphics.DrawImage(img,e.MarginBounds);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.Graphics.DrawString("Hello World!",&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;font size="2"&gt; Font&amp;nbsp;("Batang",36),Brushes.Black,30,30);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.Graphics.DrawEllipse(Pens.Yellow,e.MarginBounds);&lt;br&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if&lt;/font&gt;&lt;font size="2"&gt; (e.PageSettings.Landscape)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.Graphics.DrawRectangle(Pens.Black,e.MarginBounds);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; e.HasMorePages=(--_pageCount&amp;gt;0);&lt;br&gt;}&lt;br&gt;&lt;br&gt;Πρόσεξε το HasMorePages και το PageSettings.Landscape. Πριν αρχίσω την εκτύπωση, έχω περάσει τον αριθμό των σελίδων στο πεδίο _pageCount. Την δεύτερη σελίδα θα την τυπώσω σαν Landscape. Κάθε φορά που τυπώνεται μια σελίδα, μειώνω τον αριθμό των σελίδων που μένουν. Μόλις φτάσουν στο 0, το HasMorePages γίνεται false και η εκτύπωση σταματάει.&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;font face="Times New Roman" size="6"&gt;&lt;span style="font-size:12pt;font-family:'Times New Roman';"&gt;Αν δεν κάνω λάθος, η συγκεκριμένη προσέγγιση θα
τυπώσει την εικόνα συρρικνωμένη ή διασταλμένη έτσι ώστε να απλωθεί μέσα στα
όρια του &lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Times New Roman';"&gt;e.MarginBounds.&lt;br&gt;
&lt;br&gt;
Αν όμως θέλω να τυπώσω την εικόνα σε ολόκληρο το χαρτί χωρίς να αλλοιωθούν οι
αναλογίες των πλευρών της τι πρέπει να κάνω?&lt;br&gt;
&lt;br&gt;
Αυτό που προσπαθώ να πετύχω είναι κάτι ανάλογο με εκείνο που γίνεται στο word
του office όπου στο ίδιο doc μπορούμε να έχουμε και landscape pages και
portrait pages. Αν δημιουργήσεις ένα τέτοιο κείμενο και επιλέξεις print preview
το πρόγραμμα θα εμφανίσει τις landscape σελίδες οριζόντιες και τις portrait
κατακόρυφες. Επίσης παρ’ ό,τι κάποιες σελίδες είναι &lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Times New Roman';"&gt;landscape&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Times New Roman';"&gt; θα τυπωθούν στα όρια του e.MarginBounds αλλά με 90&lt;sup&gt;ο&lt;/sup&gt;
περιστροφή της εικόνας ώστε αυτή να απλωθεί στα όρια του χαρτιού χωρίς να αλλάξουν
οι αναλογίες των πλευρών της. Πως μπορώ να πετύχω κάτι αντίστοιχο με ένα &lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Times New Roman';"&gt;custom&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Times New Roman';"&gt; &lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Times New Roman';"&gt;PrintDocument από εικόνες?
Μπορεί να βοηθήσει κανείς?&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Ευχαριστώ εκ των προτέρων&lt;/span&gt;&lt;span style="font-size:10pt;font-family:'Times New Roman';"&gt; &lt;/span&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;</description></item><item><title>Re: Βοήθεια σε Print Document</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1117.aspx</link><pubDate>Sun, 06 Feb 2005 00:45:28 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1117</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1117.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=1117</wfw:commentRss><description>&lt;p&gt;Το PrintDocument δεν έχει properties BackColor, ForeColor, BackgroundImage κλπ όπως η φόρμα. Για να τυπώσεις μία σελίδα θα πρέπει στο PrintPage event να ζωγραφίσεις κατευθείαν στο αντικείμενο Graphics που σου δείνει το PrintEventArgs. &lt;br /&gt;Ο παρακάτω κώδικας ζωγραφίζει μια εικόνα και από πάνω της ένα string και μια έλλειψη. :&lt;br /&gt;&lt;font color="#0000ff" size="2"&gt;&lt;br /&gt;private&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;font size="2"&gt; printDocument1_PrintPage(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;object&lt;/font&gt;&lt;font size="2"&gt; sender, System.Drawing.Printing.PrintPageEventArgs e)&lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.PageSettings.Landscape=(pageCount==2);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.Graphics.DrawImage(img,e.MarginBounds);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.Graphics.DrawString("Hello World!",&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;font size="2"&gt; Font&amp;nbsp;("Batang",36),Brushes.Black,30,30);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.Graphics.DrawEllipse(Pens.Yellow,e.MarginBounds);&lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if&lt;/font&gt;&lt;font size="2"&gt; (e.PageSettings.Landscape)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.Graphics.DrawRectangle(Pens.Black,e.MarginBounds);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; e.HasMorePages=(--_pageCount&amp;gt;0);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Πρόσεξε το HasMorePages και το PageSettings.Landscape. Πριν αρχίσω την εκτύπωση, έχω περάσει τον αριθμό των σελίδων στο πεδίο _pageCount. Την δεύτερη σελίδα θα την τυπώσω σαν Landscape. Κάθε φορά που τυπώνεται μια σελίδα, μειώνω τον αριθμό των σελίδων που μένουν. Μόλις φτάσουν στο 0, το HasMorePages γίνεται false και η εκτύπωση σταματάει.&lt;/p&gt;&lt;/font&gt;</description></item><item><title>Βοήθεια σε Print Document</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1116.aspx</link><pubDate>Sun, 06 Feb 2005 00:20:01 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1116</guid><dc:creator>SpySoftX</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1116.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=1116</wfw:commentRss><description>&lt;p&gt;&lt;font style="BACKGROUND-COLOR: #efefef"&gt;ρε παιδιά πώς βάζουμε background picture στο print document?&lt;/font&gt;&lt;/p&gt;</description></item></channel></rss>