منتدى مصر التقني
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

التعامل مع الكائن Print Document فى vb.net

اذهب الى الأسفل

التعامل مع الكائن Print Document فى vb.net Empty التعامل مع الكائن Print Document فى vb.net

مُساهمة من طرف المبرمج الطموح الإثنين نوفمبر 12, 2018 5:26 pm

سنتعلم فى هذا الدرس كيفية استخدام العنصر Print Document  حيث أن  [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] هو المكون الأساسي للطباعة داخل الدوت نت
التعامل مع الكائن Print Document فى vb.net Print-document

....وتتم الطباعة عبر استدعاء الطريقة Print للكائن PrintDocumet وهذه الطريقة تنادي علي الحدث PrintPage وهو الحدث الذى يوضع فيه كود تحديد خصائص الطباعة وذلك باستخدام طرق الرسم للكائن Griphic لنقوم بذلك أنشأ مشروع جديد وضع المكون PrintDocumet على الفورم واضف زر أمر Button

لكي نطبع الصفحة نكتب فى حدث الزر هذا الكود

الكود:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

      PrintDocument1.Print()

  End Sub

اضعط ظغطتين علي المكون PrintDocumet يظهر الحدث PrintPage
الكود:

Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles

PrintDocument1.PrintPage

    End Sub


  • البارمتر e : جميع الخواص التى فيه هى المسئولة عن خواص الطباعة
  • الخاصية Graphics : هى المسئولة عن تحديد مخرجات الطباعة التى ستطبع
  • الخاصية MarginBounds : الخاصية المسئولة عن الهوامش للصفحة وتحدد منطقة الطباعة
  • الخاصية PageSettings : الخاصية المسئولة عن خصائص الصفحة المطبوعة - حجم اصفحة - الاتجاه - الهوامش وغيرها من الخواص
  • ومن خواص الخاصية PageSettings الخاصية PrinterSettings وهي خاصية أخري تحتوى على خصائص حول الطابعة والاعدادات الخاصة بها


نتعامل مع الكود التالى فى الحدث PrintPage يقوم بطباعة مستطيل يغلق منطقة الطباعه للصفحة(الهوامش) يقوم بطباعة نص فى داخله كما يقوم بطباعة نص خارج منطقة الطباعة القيمة الافتراضية للهوامش هى 1 انش لكل جانب

سنتعلم من المثال كثير من الطرق المهمة لذا يجب الانتباه
الكود:

Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage


        Dim Gra As Graphics = e.Graphics
        Dim X, Y, Widt, Heig As Integer
        X = e.MarginBounds.X
        Y = e.MarginBounds.Y
        Widt = e.MarginBounds.Width
        Heig = e.MarginBounds.Height

        Gra.DrawRectangle(Pens.Red, New Rectangle(X, Y, Widt, Heig))
        Dim printFont As New Font("tahoma", 36, FontStyle.Regular)
        Gra.DrawString("BADRMEDIA SOFTWARE", printFont, _
                        Brushes.Green, 150, 300)
        Gra.DrawString("Print Out Range", _
                        New Font("arial", 20, FontStyle.Regular), _
                        Brushes.Black, -10, -10)
    End Sub

العنصر PageSettings

له عدة خصائص منها :

الخاصية Bounds وهى مثل الخاصية MarginBounds للبارمتر e فى الحدث printpage لكن هذه الخاصية هنا لا تهتم بالهوامش المحددة عن طريق المستخدم وهى تمثل شكل مستطيل Rectangle حجم صفحة A4 هى 827×1169 وصفحة letter هي 850×1100

الخاصية Margins :
تمثل الهوامش المحددة عم طريق المستخدم كخواص Top - Left - Right - Bottom

الخاصية PaperSize :

تمثل الخاصية حجم الورق وابعاد الورقة هى ابعاد الخاصية Bounds ولكن هناك خاصيتان مهمتان لهذا الكائن هما Kind و PaperName

الخاصية Kind تاخذ نوع الورق

الخاصية PaperSource :

تمثل نوع ملقم الورق أو درج الورق

SourceName للعنصر PaperSource هو ''Auto Sheet Feeder."


الخاصية PrinterResolution :

تمثل دقة الطباعة الخواص X,Y لهذا العنصر تعود بالقيم الافقية والعمودية على التوالى كنقاط لكل انش DPI والخاصية Kind تتضمن عدة خواص (Low, Medium, High, Custom, Draft )


الخاصية Color :

تسند لها قيمة منطقية True / False - تجعلها True لو كانت الطابعة ألوان

الكود:


If printDoc.PrinterSettings.SupportsColor Then
          e.PageSettings.Color = True
      End If


تعرفنا على الكائن PageSettings

تعال نتعرف الان على الكائن PrinterSettings

من خواص هذا الكائن:

SupportsColor :
تستطيع عن طريقه أن تعود بقيمة منطقية تحدد اذا كانت الطابعة تدعم الطباعة بالالوان ام لا واستخدامناه فى الكود السابق

MaximumCopies :
يعطى اقصى عدد من النسخ ممكن أن تطبعه الطابعة فى المرة الواحدة

Copies :

تحدد فيها عدد النسخ المراد طباعتها

IsValid :

تعود بقيمة منطقية تحدد اذا كان اسم الطابعة صحيح وان الطابعة موجودة ومتاحة

InstalledPrinters :
يسترجع اسماء كل الطابعات الموجودة على الكمبيوتر والشبكة صناديق الحوار هناك ثلاث كائنات تكون كمربعات حوار أثناء التنفيذ تستخدم مع الكائن Print Document ووظيفتها التحكم فى عملية الطباعة والتعامل مع خيارات المستخدم

صندوق الحوار PageSetupDialog

هذا الصندوق يحدد اعدادات الصفحة اتجاه الطباعة - الهوامش - الورق الخ من أمور

صندوق الحوار PageSetupDialog يعود بكائن PageSetting يمثل الاعدادات المحددة من قبل المستخدم ويجب مراعاتها و جعل البرنامج يقوم بالطباعة على حسب ما حدده المستخدم
الكود:

With PageSetupDialog1
  .PageSettings = PrintDocument1.DefaultPageSettings
  If .ShowDialog =DialogResult.OK Then _
              PrintDocument1.DefaultPageSettings = .PageSettings
End With

مربع الحوار PrintDialog :


مربع الحوار هذا يسمح للمستخدم باختيار الطابعة وتحديد الخواص لها لو تجاهلته سيتم استخدام الافتراضية بخواصه

الكود:

    PrintDialog1.PrinterSettings = _
            PrintDocument1.DefaultPageSettings.PrinterSettings
    PrintDialog1.AllowSelection = True
    PrintDialog1.AllowSomePages = True
       If PrintDialog1.ShowDialog = DialogResult.OK Then
           PageSetupDialog1.PageSettings =                
           PrintDocument1.DefaultPageSettings
        If PageSetupDialog1.ShowDialog = DialogResult.OK Then
             PrintDocument1.DefaultPageSettings = _
                          PageSetupDialog1.PageSettings
             PrintDocument1.Print
  End If

مربع الحوار PrintPreview :

لمعاينة المخرجات قبل طباعتها ومعرفة مدى ملاءمتها للطباعة ثم يحدد هل سيطبع ام لا وبذلك تلغي الأمر Print للكائن PrintDocument فتضع للعنصر ShowDialog الأمر PrintPreview
المبرمج الطموح
المبرمج الطموح
الاشراف
الاشراف

تاريخ التسجيل : 18/02/2011
المساهمات : 207
النقاط : 368
التقيم : 17
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى