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

اخفاء بعض الحقول أثناء الطباعة

بدأه iamsad في 27 أبريل 2011 · 20 رد · 845 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أرجو المساعدة فليس لدي أي فكرة ؟؟؟؟؟؟

ولا أدري أي طريقة للطباعة تقرير أم طباعة فورم أم طباعة مستند

يا أهل سوريا اعلنوها خلافة اسلامية لتكون الشام عقر دار المسلمين وخلاص ارض فلسطين

#2

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

قم بطباعه القيم التي تم ادخالها وذلك من خلال الشرط بواسطه If وقم باستخدام الاداه PrintDocument وفي الحدث PrintPage قم بعمل كودك لتحديد العناصر التي سوف يتم طباعتها

1

.:: Wish to become better and better ::.

#3

عدت لك من جديد vb helper كيف أستطيع طباعة صورة موجودة كـheader من خلال print document في انتظارك ؟ :unsure:

يا أهل سوريا اعلنوها خلافة اسلامية لتكون الشام عقر دار المسلمين وخلاص ارض فلسطين

#4

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

اخي يمكنك في نفس الحدث وقبل اي شيء من رسم صوره الرأس من خلال الداله e.Graphics.DrawImage()

.:: Wish to become better and better ::.

#5

أخي vb helper لقد حاولت تجربة فكرة الطباعة بالشرط if لكن وجدت أنها غير ممكنة حسب الطريقة التي اتبعنها أنا إليك محاولتي

Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
        Dim f As New Font("Times New Roman", 14, FontStyle.Underline)
        Dim b As New SolidBrush(Color.Black)
        If TextBox1.Text.Length = 0 Then

        End If
        If TextBox1.Text.Length > 0 Then
            e.Graphics.DrawString(TextBox1.Text, f, b, 16, 0)
        ElseIf TextBox2.Text.Length > 0 Then
            e.Graphics.DrawString(TextBox2.Text, f, b, 16, 0)
        End If
        If TextBox1.Text.Length > 0 Then
            e.Graphics.DrawString(TextBox2.Text, f, b, 16, 30)
        End If
        If TextBox1.Text.Length = 0 And TextBox2.Text.Length = 0 Then
            e.Graphics.DrawString(TextBox3.Text, f, b, 16, 0)
        ElseIf TextBox1.Text.Length = 0 And TextBox2.Text.Length > 0 Then
            e.Graphics.DrawString(TextBox3.Text, f, b, 16, 30)
        ElseIf TextBox1.Text.Length > 0 And TextBox2.Text.Length = 0 Then
            e.Graphics.DrawString(TextBox3.Text, f, b, 16, 30)
        ElseIf TextBox1.Text.Length > 0 And TextBox2.Text.Length > 0 Then
            e.Graphics.DrawString(TextBox3.Text, f, b, 16, 60)
        End If

        If TextBox1.Text.Length = 0 And TextBox2.Text.Length = 0 And TextBox3.Text.Length = 0 Then
            e.Graphics.DrawString(TextBox4.Text, f, b, 16, 0)
        ElseIf TextBox1.Text.Length = 0 And TextBox2.Text.Length > 0 And TextBox3.Text.Length > 0 Then
            e.Graphics.DrawString(TextBox4.Text, f, b, 16, 60)
        ElseIf TextBox1.Text.Length = 0 And TextBox2.Text.Length = 0 And TextBox3.Text.Length > 0 Then
            e.Graphics.DrawString(TextBox4.Text, f, b, 16, 30)
        ElseIf TextBox1.Text.Length > 0 And TextBox2.Text.Length > 0 And TextBox3.Text.Length = 0 Then
            e.Graphics.DrawString(TextBox4.Text, f, b, 16, 60)
        ElseIf TextBox1.Text.Length > 0 And TextBox2.Text.Length > 0 And TextBox3.Text.Length > 0 Then
            e.Graphics.DrawString(TextBox4.Text, f, b, 16, 90)
        ElseIf TextBox1.Text.Length > 0 And TextBox2.Text.Length = 0 And TextBox3.Text.Length > 0 Then
            e.Graphics.DrawString(TextBox4.Text, f, b, 16, 60)
        ElseIf TextBox1.Text.Length > 0 And TextBox2.Text.Length = 0 And TextBox3.Text.Length = 0 Then
            e.Graphics.DrawString(TextBox4.Text, f, b, 16, 60)
        ElseIf TextBox1.Text.Length = 0 And TextBox2.Text.Length > 0 And TextBox3.Text.Length = 0 Then
            e.Graphics.DrawString(TextBox4.Text, f, b, 16, 30)
        End If

    End Sub

وكلما زادت الـtextbox زادت الاحتمالات فما رأيك vb helper أذا كنت أتحدث عن 70 textboxes ؟

أرجو أن يكون لديك فكرة .

Hv[,

يا أهل سوريا اعلنوها خلافة اسلامية لتكون الشام عقر دار المسلمين وخلاص ارض فلسطين

#6

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

اخي كان موضوعك بخصوص طباعه صوره وقمت بالرد والان ارى طباعه نصوص؟!! ما الذي تقصده

.:: Wish to become better and better ::.

#7
iamsad كتب:

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

أرجو المساعدة فليس لدي أي فكرة ؟؟؟؟؟؟

ولا أدري أي طريقة للطباعة تقرير أم طباعة فورم أم طباعة مستند

أخي لقد كان هذا سؤالي من البداية الطباعة حسب قيمة مربع إذا كان به قيمة تطبع وإلا تتم طبعاة المربع الذي يليه في مكان الأول ووعدت بالمحاولة وحاولت كثيرا لكن وقفت معلوماتي البرمجية عند هذا الحد.

يا أهل سوريا اعلنوها خلافة اسلامية لتكون الشام عقر دار المسلمين وخلاص ارض فلسطين

#8

جاءتني هذه الفكرة

دالة تبحث في مربعات النصوص إذا كان المربع فارغا تركته وأذا كان به قيمة تضع هذه القيمة الأولى في الحقل الأول في مصفوفة ثم تبحث عن آخر ثم تضعه في الصف الثاني للمصفوفة وكل صف في المصفوفة تتم طباعته في مكان معين بالترتيب

الفكرة غير واضحة في ذهني جيدا أرجو منك مساعدتي في توضيح هذه الفكرة

لا أريد كودا أريد فكرة برمجية واضحة حتى أستطيع ترجمتها إلى كود بنفسي إذا استطعت ذلك

مشكور على متابعتك لموضوعي.

يا أهل سوريا اعلنوها خلافة اسلامية لتكون الشام عقر دار المسلمين وخلاص ارض فلسطين

#9

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

اخي خلاص انت مضطر لعمل الشروط بحسب مربعات النص!!

.:: Wish to become better and better ::.

#10

ما تختصرني خالص كدة عاوز ظاعرف المفروض أعمل ايه

يا أهل سوريا اعلنوها خلافة اسلامية لتكون الشام عقر دار المسلمين وخلاص ارض فلسطين

#11

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

اخي جرب هذا الحل الذي سيقوم بطباعه جميع مربعات النص الغير فاضيه حتى لو كانت 70


Dim f As New Font("Times New Roman", 14, FontStyle.Underline)
Dim b As New SolidBrush(Color.Black)
Dim c As Integer = 0
For Each ctrl In Me.Controls
If (TypeOf ctrl Is TextBox) Then
If CType(ctrl, TextBox).Text.Length > 0 Then
e.Graphics.DrawString(CType(ctrl, TextBox).Text, f, b, 16, c)
c = c + 30
End If
End If
Next

.:: Wish to become better and better ::.

#12

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

شكرا كثيرا أخي

الحل الذي أعطيتني له ممتاز ولكن به مشكلتين لو عولجتا كان هذا كل ما أريد

-أولا الكود لا يبحث داخل الـcontainers فقد جربته على tab فلم يقرأ وجربته على panei أيضا لم يقرأ ومربعات النص التي أريد طباعنها هي داخل tabs

-ثانيا الحلقة تبدأ بالمربع الأخير فتطبعه أولا فبالتالي مربعات النص تأتي في الطباعة مقلوبة الأول آخرا والأخير أولا .

وشكرا مرة أخرى على اجتهادك معي

يا أهل سوريا اعلنوها خلافة اسلامية لتكون الشام عقر دار المسلمين وخلاص ارض فلسطين

#13

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

اخي بالنسبة للمشكله الاولى يمكنك البحث في اداة الاحتواء التي تريدها وذلك باستبدال Me باسم الحاوية, اما المشكله الثانيه قم بتغيير ال Tab Order تبع مربعات النص وكل شي بيكون تمام

.:: Wish to become better and better ::.

#14

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

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

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

printexception.rar

يا أهل سوريا اعلنوها خلافة اسلامية لتكون الشام عقر دار المسلمين وخلاص ارض فلسطين

#15

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

اخي جرب الكود التالي


If (TypeOf ctrl Is TextBox) Then
If CType(ctrl, TextBox).Text.Length > 0 Then
e.Graphics.DrawString(CType(ctrl, TextBox).Text, f, b, 16, c)
c = c + 30
End If
End If
Next
For Each ctrl In TabControl1.TabPages(0).Controls

.:: Wish to become better and better ::.

#16

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

والله ماعارف أشكرك كيف غير أني أدعو الله لك بكل خير

فقط المشكلة الآن في الترتيب

يا أهل سوريا اعلنوها خلافة اسلامية لتكون الشام عقر دار المسلمين وخلاص ارض فلسطين

#17

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

لاشكرا على واجب اخي .. بالنسبه للترتيب كما ذكرت لك سابقا استخدم Tab Order من القائمه View لتقوم بترتيب الادوات

.:: Wish to become better and better ::.

#18

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

جربتها أخي لم تغير شيئا

يا أهل سوريا اعلنوها خلافة اسلامية لتكون الشام عقر دار المسلمين وخلاص ارض فلسطين

#19

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

اخي لننهي المشكله .. قم بحذف مربعات النص الاربعه, قم باضافه مربع نص جديد وضعه في الاخير واضف الثانيه فوقه وهكذا .. يعني نقوم بترتيبه بالمعكوس, شغل برنامجك ولاتقولي ماضبط؟!!

1

.:: Wish to become better and better ::.

#20

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

والله أخي مشكور جدا جدا على مجهودك الكبير معي وحأدعو ليك تاني كمان وهذا كل ما أستطيع جزاءك به

المشكلة اتحلت والحمدلله ووجدت ما أريد وأكثر .

يا أهل سوريا اعلنوها خلافة اسلامية لتكون الشام عقر دار المسلمين وخلاص ارض فلسطين

#21

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

لا شكر على واجب اخي ...

.:: Wish to become better and better ::.

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…