זה אמור להיות פשוט מאוד קצרה Visual Basic. נטו . קל להבין מהר כי זה עובד קצר (עם קוד מעט מאוד), כך ששום דבר לא מפריע לנו מתי לשים את המגע האישי שלנו. מתכנתים הם יצירתיים מאוד, ביליתי הרבה פעמים נפגשתי עם מאוד מורכב, מלא דוגמאות קוד, שבו הייתי צריך לנתח ולנתח חלקי להבין את פעולתו. אז אני מנסה לשים את כל הפוסט שלי דוגמאות קונקרטיות, פשוטים לתפעול עם העתק פשוט, להדביק לעשות כמה בקרות mimina תצורה.
אנחנו צריכים:
Winform (Form1), בקרת PrintDocument (PrintDocument1), PrintDialog (PrintDialog1), תיבת טקסט (TextBox1) ולחצן (Button1). הטופס אמור להיות דומה לתמונה זו:

העתק את הקוד הבא במקרה של לחץ button1
אז אם PrintDialog1.ShowDialog = Windows.Forms.DialogResult.OK PrintDocument1.PrinterSettings = PrintDialog1.PrinterSettings PrintDocument1.Print () סוף אם
כי עושה הוא לפתוח את תיבת הדו שיח כדי לבחור מדפסת ולאחר מכן מעביר את תצורת כל עובר את האובייקט הנבחר PrintDocument ואז אומר לך להדפיס. מה מעורר PrintDocument PrintPage האירוע.
עכשיו לחיצה כפולה על אובייקט PrintDocument1 ולהדביק את הקוד הבא
e.Graphics.DrawString (גופן TextBox1.Text, חדש ("Verdana", בן 18, FontStyle.Bold) Brushes.Black, 10, 10) כי אני כמספר שלם = 1 עד 10 e.Graphics.DrawString ("שורה לדוגמה:" & I, גופן חדש ("Tahoma", 10, FontStyle.Bold) Brushes.Black, 10, 20 + (i * 30)) הבא
כאשר אתה מפעיל זו מדפיסה את התוכן של תיבת ככותרת של הדף עשר שורות באמצעות מדגם שונה furnte וגודל. התוצאה תהיה דומה לתמונה הבאה:

מידע נוסף על הפקדים ...
PrintDialog Component (טפסים של Windows)
מרכיב PrintDialog של טפסים של Windows היא תיבת מוגדרות מראש שיח משמש כדי לבחור מדפסת, לבחור אילו דפים להדפיס, ולקבוע הגדרות אחרות הקשורות הדפסה יישומים מבוססי Windows. להשתמש בו כפתרון פשוט לבחור את הגדרות המדפסת או בקשר למדפסת, במקום להגדיר את תיבת הדו שיח עצמו. אתה יכול לאפשר למשתמשים להדפיס את החלקים השונים של המסמכים שלהם: להדפיס הכל, להדפיס את טווח מסוים של דפים או להדפיס הבחירה. על ידי הסתמכות על Windows דיאלוגים רגילים, ליצור יישומים בעלי פונקציונליות בסיסית מוכרת באופן מיידי למשתמשים.
רכיב PrintDocument (טפסים של Windows)
מרכיב PrintDocument של טפסים של Windows משמש להגדיר את המאפיינים המתארים את מה להדפיס ולאחר מכן להדפיס את המסמך יישומים מבוססי Windows.
גם הסתובבתי הודעה ואף אחד לא ענה על כפי שהוא נוהג להדפיס יותר עמודים, נתתי את עצמי את המשימה לחקור אתרים אחרים ומצאתי את הקוד אבל זה בינוני מורכבת enterlo בקלות כך למשל modique כך נוהגים כאן כך שאין שני הסנטים שלי ואני מקווה ואני מבין okas
"משתנה זה צריך להתפרסם
קו דים כמספר שלם = 1
PrintDocument1_PrintPage Private Sub (ByVal השולח כמו System.Object, ByVal e כמו System.Drawing.Printing.PrintPageEventArgs) ידיות PrintDocument1.PrintPage
"אנו מגדירים את סוג הגופן ועוד
מקור דים כפי גופן חדש ("אריאל", 10)
"אנו מגדירים את העמדה יתחיל הדפסה
עמדת דים כמספר שלם = 20
"הרוזן קווי מודפס
Lineaimpresa דים כמספר שלם = 0
'משתנה כדי לראות מתי אתה לוקח זינוק של הדף
דים כמו salto_pagina בוליאני = False
'משתנה כדי לציין כמה שורות להדפיס בכל גיליון
NroLineasPagina דים כמספר שלם = 70
עבור i = קו 150
e.Graphics.DrawString ("שורה לדוגמה:" & קו, מקור, Brushes.Black, 10, מיקום)
מיקום + = 15
קו + = 1
lineaimpresa + = 1
אז אם lineaimpresa = NroLineasPagina
salto_pagina = True
יציאה
סוף אם
הבא
אם salto_pagina = נכון אז
e.HasMorePages = True
אחר
e.HasMorePages = False
סוף אם
End Sub
ובכן אני מקווה לשרת אותם ואת הצורך שלהם להסתגל מילות פרידה okas
תודה על העזרה.
של דבר היא רק כדי לעשות משהו שנותן דפים רבים כגון סיוע agredicimiento וזה לעשות משהו
כמה שאני יכול להדפיס
יבוא System.IO
המעמד הציבורי frmDesCaratula
StringToPrint כמחרוזת פרטית
Private Sub frmDesCaratula_Load (השולח כהודעות דואר אובייקט, כפי System.EventArgs) ידיות MyBase.Load
Me.MdiParent = mdiPrincipal
End Sub
Private Sub Button1_Click (השולח כהודעות דואר אובייקט, כפי System.EventArgs) ידיות Button1.Click
אז אם ptdConfiguracion.ShowDialog = Windows.Forms.DialogResult.OK
ptdDocumento.PrinterSettings = ptdConfiguracion.PrinterSettings
ptdDocumento.Print ()
סוף אם
End Sub
Private Sub PrintDocument1_PrintPage (השולח כהודעות דואר אובייקט, כפי System.Drawing.Printing.PrintPageEventArgs) ידיות ptdDocumento.PrintPage
e.Graphics.DrawString (גופן TextBox1.Text, חדש ("Verdana", בן 18, FontStyle.Bold) Brushes.Black, 10, 10)
כי אני כמספר שלם = 1 עד 10
e.Graphics.DrawString ("שורה לדוגמה:" & I, גופן חדש ("Tahoma", 10, FontStyle.Bold) Brushes.Black, 10, 20 + (i * 30))
הבא
"הכל ----- הדפסת מסמך
"דים כמספר שלם = 0 charactersOnPage
"דים כמספר שלם = 0 linesPerPage
"מגדיר את הערך של מספר charactersOnPage לתווים
"כי יהיה כשיר של stringToPrint בגבולות של הדף.
"E.Graphics.MeasureString (stringToPrint, Me.Font, e.MarginBounds.Size, _
"StringFormat.GenericTypographic, charactersOnPage, linesPerPage)
"מושך את החוט בתוך גבולות הדף
"E.Graphics.DrawString (stringToPrint, Me.Font, Brushes.Black, _
"E.MarginBounds, StringFormat.GenericTypographic)
"להסיר את החלק של המחרוזת זה הודפס.
"StringToPrint = stringToPrint.Substring (charactersOnPage)
"בדוק אם יש יותר דפים להדפסה.
"E.HasMorePages stringToPrint.Length => 0
End Sub
Private Sub Button2_Click (השולח כהודעות דואר אובייקט, כפי System.EventArgs) ידיות Button2.Click
ReadFile ()
ptdDocumento.Print ()
End Sub
Private Sub ReadFile ()
DocName דים כמחרוזת = "index.html"
DocPath דים כמחרוזת = "G: \"
ptdDocumento.DocumentName = docName
זרם דים כמו חדש FileStream (DocPath + docName, FileMode.Open)
לנסות
הקורא דים כמו חדש StreamReader (זרם)
לנסות
reader.ReadToEnd stringToPrint = ()
בסופו של דבר
reader.Dispose ()
נסו לסיים את
בסופו של דבר
stream.Dispose ()
נסו לסיים את
End Sub
Private Sub Button3_Click (השולח כהודעות דואר אובייקט, כפי System.EventArgs) ידיות Button3.Click
ppdVista.Document = ptdDocumento
ppdVista.ShowDialog ()
End Sub
בסוף כיתה
זה עבד בשבילי, אתה צריך texbox: TextBox1
PrintDocument: ptdDocumento
PrintPreviewControl: ppdVista
PrintDialog: ptdConfiguracion
מאמר פלא מעניין, אבל איך אנחנו צריכים לפעול ביתר סביבות מקצועיים כגון הדפסה של כרטיסים, קבלות, חשבוניות או המחאות השליטה אם המדפסת לא מחובר ויש לו נייר או impreison מידו של הדפסה הופסק להם על שגיאה כלשהי.
שמור hacerca של מה שאתה מזכיר כפי שניסיתי פעמים רבות ללא הצלחה זה ולא מצאתי שום דבר כדי לפתור את הבעיה.
ברכות.
Atte. קווין רמירז
בוקר טוב, רציתי לדעת אם יש לכם מדריכים כדי שתוכלו להדפיס את התוכן של datagridview כי כל מה שאני מוצא באינטרנט הוא קוד הרבה מסוגל להפעיל כל דבר אה!.
הייתי מאוד מעריך אם היה לך מידע על זה.
בברכה
יקירתי, אני תכנות במשך 10 שנים במיקרוסופט, עבר VB6 ועכשיו אני עם VS2010.
לא מצאתי כל כלי גמיש יותר PrintDocument הדיווחים, אין שום דבר שהוא לא יכול לעשות.
אם יש לך שאלות אנא צרו איתי קשר.
דרישת שלום
מנואל בוקר טוב, הייתי מבלה ליצור קשר בדוא"ל להיות יותר בתור כדי לתת לי יד?
תודה רבה
אני משאיר את שלי
francocsanchez@gmail.com
יש צורך ביותר: T
גם מנואל agredece לך הרבה לתשובה שאני יהיה לשלוט בי כמו דואר אלקטרוני או כל קשר facilitaras לי כי יש לי כחצי שנה לתוך זה.
ואני חושב שאחד קצת הדרכה מקצועית אני יכול להשתמש.
אני משאיר את הדואר שלי.
kevinramirez92@hotmail.com
ברכות.
Atte. קווין רמירז.
מנואל אני צריך עזרה על איך להדפיס את התוכן של datagridview!.
האם אתה יכול לתת לי יד?
francocsanchez@gmail.com
ברכות.
ש est היא הדואר שלי לפעמים רק צריך לעזור להדפסה אוטומטית בשנת 2010 Visual Basic.
Luis_Cepedaf@hotmail.com
יש ספריה ספציפית כדי לטעון ערכים קופסאות טקסט במסמך Excel ו ממדים נקבע לפי immpresora.
תודה
היי סליחה אני צריך עזרה דחופה מה שקורה הוא שאני רוצה לדעת איך אני יכול להדפיס את ד התכנים לוח שבו יש לי תמונה (גדול יותר בהתמודדות עם לוח k פס הגלילה) ואת הטקסט ... כמה כולם PrintDocument. היי סליחה אני צריך עזרה דחופה מה שקורה הוא שאני רוצה לדעת איך אני יכול להדפיס את ד התכנים לוח שבו יש לי תמונה (גדול יותר בהתמודדות עם לוח k פס הגלילה) ואת הטקסט ... כמה כולם PrintDocument. היי סליחה אני צריך עזרה דחופה מה שקורה הוא שאני רוצה לדעת איך אני יכול להדפיס את ד התכנים לוח שבו יש לי תמונה (גדול יותר בהתמודדות עם לוח k פס הגלילה) ואת הטקסט ... כמה כולם PrintDocument.
תודה רבה, דוגמה פשוטה 1 שעובד
תודה. בהירות קשיחות. נהדר. עכשיו אני צריך לעשות את מחזורי ומסננים הדרושים כדי להדפיס את רשומות במסד נתונים, אבל זה ממש ברור איך נחשפים שמצאת במקום אחר מאוד חשוף באור עמום. אתה צריך להיות מורה נהדר.
שירתתי למשל אם יש לי שאלה כמו שאני יכול הדפוס cirle alprograma לתפקיד הנכון הדוא"ל שלי הוא yack7raro@gmail.com אם הלגונה poersona המכונה