الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف أطبع ال Form بواسطة مفتاحي Ctrl +p

بدأه مصلح الحريصي في 5 فبراير 2009 · 7 رد · 1,063 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الأخوة الكرام

أريد أن أطبع النموذج بحيث يظهر على الورق كما هو في شاشة البرنامج بواسطة المفتاحين Ctrl + P كيف يتم ذلك بارك الله فيكم

#2

السلام عليكــم ورحمـة الله وبركاتــه

إذا كان المقصود كيف تطبع الفورم بنفس الطريقة في Access ؟ فـ للاسف لا توجد وظيفة تقوم بهذا في الفيجوال بيسك.

لكن يمكن ان نستخدم تقارير الكريستال او غيرها في طباعة السجلات.

[وسط]لا اله الا انت سبحانك انى كنت من الظالمين

[/وسط]

#3

الاخ حسن

شكراً على الرد

اقتباس
إذا كان المقصود كيف تطبع الفورم بنفس الطريقة في Access ؟

هذا بالضبط ما أريده

اقتباس
ـ للاسف لا توجد وظيفة تقوم بهذا في الفيجوال بيسك.

أعتقد إن لم تكن هناك وظيفة فربما يكون هناك كود يقوم بذلك لكنني ولعدم خبرتي في الفيجول دوت نيت لم اتمكن من ذلك

#4

أخي مصلح.. يوجد Component يسمى PrintForm ضمن Visual Basic PowerPacks يوجد بشكل تلقائي في VS 2008 ويمكن تنزيله ليعمل على VS 2005.. ابحث عنه وجربه وان كنت لا أحبذ الطباعه بهذا الشكل وانما عن طريق تقرير تكون أفضل,,,

تم تعديل هذه المشاركة بواسطة hazzoom في 5 فبراير 2009 في 21:02

#5

أخي hazzoom

شكراً على مرورك ومشاركتك

بعد قراءت مشاركتك رجعت للبحث عن PrintForm ووجدتها لأن الإصدار لدي Microsoft Visual Studio 2008 وفعلاً تفي بالغرض بارك الله فيك

#6

اخي الفاضل

بالاضافة الي تعليق الأخ الفاضل حازم في مشاركته اعلاه هناك طريقه اخري يمكن استخدامها لطباعة الفورم بدون استخدام PrintForm Control وهذه الطريقة تعتمد علي استخدام +GDI

مثال علي ذلك افتح مشروع جديد وأضف له PrintDocument Control ثم يمكنك استخدام الكود بالشكل التالي



Dim bmp As Bitmap

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

Dim bmp_print As Bitmap

bmp_print = bmp.GetThumbnailImage(100, 200, Nothing, Nothing)

e.Graphics.DrawImage(bmp_print, 0, 0)

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim g As Graphics = Me.CreateGraphics()
Dim m_formSize As Size = Me.Size
bmp = New Bitmap(m_formSize.Width, m_formSize.Height, g)

Dim g_memory As Graphics = Graphics.FromImage(bmp)
g_memory.CopyFromScreen(Me.Location.X, Me.Location.Y, 0, 0, m_formSize)

PrintDocument1.Print()

End Sub

End Class
Public Class Form1

والفكرة ببساطه هي أخذ صورة من الفورم ثم من داخل PrintDocument Control يمكنك رسمها في اي مكان تختاره علي ورقة الطباعة

وفي السطر التالي من الكود أعلاه يمكن تغيير الأبعاد كيفما تشاء

حيث القيمتان 100 و 200 يمثلان عرض الفورم Form Width و طول الفورم Form Height علي التوالي

يمكنك التعديل في الارقام كما تشاء لتطبع الفورم بالمقاس الذي تريده

طبعا الكود ممن تطويره وتعديلة ليصبح افضل كثيرا ولكن هذه هي الفكرة بشكل عام

bmp_print = bmp.GetThumbnailImage(100, 200, Nothing, Nothing)

بالتوفيق

أخوك عمر

تم تعديل هذه المشاركة بواسطة a_pess في 5 فبراير 2009 في 23:42

#7

بارك اىلله فيك اخي a_pess

وأشكرك على المرور والمشاركة

المشكلة في تلك الطريقة أن الصورة تطلع غير دقيقه في شكلها لأنها باهته.

أكرر لك شكري

#8

اخس الكريم شكرا..

اريد انا استخدم printForm بس يا اخي هل هناك امكانية عدم ظهور

printPreview

,hggi d[.d; hgodv

مواضيع مشابهة