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

صناديق الحوار علم وعلم Dialog boxes

مغلق
بدأه الشهاب الحارق في 31 أغسطس 2003 · 18 رد · 5,335 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم الدرس الأول عبارة عن إظهار صندوق الحوار للألوان color Dialog box

لنبدأ الدرس

في هذا المشروع سنقوم بتلوين الـ backColor للنموذج Form

1 - أفتح مشروع جديد باسم ColorDialogBox

وضع فيه التالي 1 - button

2 - أعطي الاسم في الخاصية Name للزر button التالي : btnColor

5 - قم بإدراج العنصر ColorDialog من القائمة ToolBox و أعطيه الاسم CD

الآن ضع هذه النصوص البرمجية في وقع الحدث الضغط على الزر Click التالي

With CD
            .Color = Me.BackColor
            If .ShowDialog = DialogResult.OK Then
                Me.BackColor = .Color
            End If
        End With

في البداية قمنا بإسناد قيمة الخاصية Color لصندوق الألوان بلون المشروع

كعملية مبدئية Initilize ثم تحققنا بالشرط if هل الشخص ضغط على

الزر OK إذا كان كذلك فإنه قد أختار لون هذا اللون أسنده للخاصية backColor

للنموذج لذلك تلاحظ أننا في البداية اسندنا قيمة لون النموذج لهذه الخاصية وذلك

حتى لو قام الشخص بالضغط على الزر OK مع عدم اختياره للون معين فإن اللون

الإفتراضي للنموذج سبقى و إن لم يكن متوفر في صندوق الألوان

إنتهاء الدرس

في المثال يتضح المقال

#2

الدرس الثاني صناعة صندوق الحوار للخط FontDialog

لنبدأ الدرس

الأدوات المتطلبة هي

1 - text box و ضع خاصية الاسم name كالتالي txtName

2 - زر button وضع خاصية الاسم name كالتالي btnFontDialog

3 - قم بإدراج صندوق الخط FontDialog من ToolBox و أعطه الاسم FD

الآن ضع النصوص البرمجية التالية

With FD
            'Enable the Selection of Effect and Color
            .ShowEffects = True
            .ShowColor = True

            'Set a limit to font size
            .MinSize = 8
            .MaxSize = 20

            'Initialize with font and color from a textBox
            .Font = Me.txtName.Font
            .Color = Me.txtName.ForeColor

            'Display the Apply Button
            .ShowApply = True

            If .ShowDialog = DialogResult.OK Then
                'Apply to TextBox 
                Me.txtName.Font = .Font
                Me.txtName.ForeColor = .Color
            End If
        End With

كما تلاحظ التعليقات على النصوص البرمجية وهي سهله للغاية

في البداية قمنا بتمكين كل من الخاصية إظهار التأثير و إظهار اللون

كخواص بإعطائهما القيمة True

ثم قمنا بتحجيم الخط بين القيمة 8 كحد أدنى والقيمة 20 كحد أقصى (أكبر)

ثم قمنا بجعل قيمة خاصية الخط واللون للعنصر FD

مسندة من خاصية صندوق النص كقيمة مبدئية

ثم قمنا بتمكين الخاصية ShowApply لتطبيق التعديل الحالي الذي أُجري على الخط

من خلال صندوق الحوار (سنتكلم بعد قليل عن وقع الحدث Apply Event )

و أخيراً من خلال السلوك ShowDialog هل تم أخيار OK كقيمة DialogResult.OK

إذا كان كذلك فإن المستخدم ضغط على الزر OK وبهذا يريد تطبيق ما أختاره

و ا خيراً عند وقع الحدث التطبيق Apply إليك النصوص البرمجية

وقع الحدث هذا يمكنا من التطبيق على صندوق النص عندما يريد المستخدم

مشاهد تأثير الأختيار الذي أختاره من تعديل دون إغلاق صندوق الخط FontDailog

وذلك بالضغط على الزر Apply

Private Sub FD_Apply(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles FD.Apply
        'Enforce font properties without closing the dialog
        Me.txtName.Font = FD.Font
        Me.txtName.ForeColor = FD.Color
    End Sub

كما تلاحظ أنه سهل للغاية فقط أختار العنصر FD من القائمة المنسدلة Class Name

ثم أختار الحدث Apply من القائمة Method Name وضع أن خاصية الخط و اللون

يساوين خاصية الخط واللون للعنصر FD

و فقكم الله

السلام عليكم

في المثال يتضح المقال

#3

شكرا لك ;)

-_-_- المعرفة هي القوة -_-_-

#4

السلام عليكم لا شكر على واجب أخي الكريم

الدرس الثالث فتح صندوق الحوار للملفات FileDialogBox

لنبدأ الدرس وهو عبارة عن فتح صندوق الحوار لأخذ صور ووضعها في العنصر PictureBox

المواد

1 - افتح مشروع جديد و سمه OpenFileDialogControl

2 - ضع فيه زر و اعطيه الاسم btnOpenFile

3 - ضع عنصر للصور PictureBox من الـ ToolBox و سمه picBox

4 - قم بإدراج العنصر component وهو OpenFileDialog وسمه OFD

الآن ضع هذه النصوص البرمجية في حدث الضغط على الزر Click

With OFD

            'Your custom Title
            .Title = "صندوق الصور"

            'Start From This Directory
            .InitialDirectory = "C:\Program Files"

            'Filtering to show only the Image With jpg & gif
            .Filter = "Image Files(*.JPG;*.GIF) |*.jpg;*.gif"

            'IF the picture Picked Up Then
            If .ShowDialog = DialogResult.OK Then
                'Load picture into PictureBox
                Me.picBox.Image = Image.FromFile(.FileName)
            End If
        End With

في البداية وضعنا عنوان لصندوق الحوار في الـ Title باسم صندوق الحوار

ثم وضعنا المجلد الإفتراضي أو البدائي لهذا الصندوق بحيث يبدأ بالبحث عن الصورة

أو الصور من المجلد C:\Program Files ثم قمنا بعملية التصفية لأنواع الصور

في الخاصية Filter لنجعل الصور فقط من نوع jpg و gif

الطريقة كالتالي Image Files(*.JPG;*.GIF) هذا سيظهر للمستخدم لإعلامه

بأنواع الصور الذي يستطيع إدرجها

وهذا |*.jpg;*.gif خاص للبرنامج بحيث يقبل فقط الأنواع التي تأتي بعد | الخط العمودي كما هو في مثالنا هذا

مثلاً لو حذفت النوع gif بعد | فلن تتمكن من إدراج هذا النوع

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

و ستستطيع إدراجها والسبب أننا قلنا أن Image Files(*.JPG;*.GIF) هي فقط

تعرض للمستخدم مالذي يستطيع أدراجه لا غير .

أخيراً اذا تم أختيار الصور بالضغط على OK

نقوم بإسناد هذه الصورة للعنصر picBox في الخاصية Iamge عن طريق

القالب فئه Class و هو Image وهذه الفئه من نوع Shared اي أنه لا يتطلب

إنشاء عنصر منها لإستخدامها ( no Instantiation needed )

نستخدم منها السلوك Method وهو FromFile و يكون الممرر وهو مكان الصورة

عن طريق الخاصية FileName التابعة للعنصر OFD وبهذا تم إدراج الصورة في

الـ picBox إنتهاء

السلام عليكم

في المثال يتضح المقال

#5

السلام عليكم

الدرس الرابع هو حفظ الصور من البرنامج إلى اي مكان في الجهاز

وعن طريق الـ component وهو SaveFileDialog

لنبدأ الدرس إذا كنت طبقت الدرس الثالث فقم بالتالي

ضع زر في المشروع السابق والذي كان عن إدراج الصور في المشروع

سنقوم الآن بحفظ الصورة من المشروع إلى مكان ما في الجهاز

اعطي الزر الاسم btnSavePic

ثم قم بإدراج العنصر SaveFileDialog من ToolBox و سمه بـ SFD

ثم ضع هذه النصوص البرمجية في داخل حدث الضغط على الزر Click Event

With SFD

            .Title = "صندوق حفظ الصور"

           .Filter = "Jpeg files|*.jpg|Bitmap Files|*.bmp"

            .OverwritePrompt = True

            If .ShowDialog = DialogResult.OK Then
                picBox.Image.Save(.FileName)
            End If

        End With

الشرح

قمنا بوضع عنوان لصندوق الحوار باسم صندوق حفظ الصور

ثم قمنا بعمل الفلتر وهذا كله مشروح من قبل

ثم جعلنا تحذير الـ OverWrite ممكن بحيث لو كانت هنالك صورة تحمل نفس الاسم

أن يقوم عنصر حفظ الصور بإظهار رسالة تحذيرية تعلمك أن هنالك صورة من الاصل

تحمل نفس الاسم .

بعدها إذا ضغط المستخدم على الزر OK في صندوق الحوار SaveFileDialog

سنستخدم السلوك Save من الـ PictureBox لحفظ الصورة التي به الآن

بوضع الصورة التي به في المسار FileName كممرر في السلوك Save

إنتهى الدرس

السلام عليكم

تم تعديل هذه المشاركة بواسطة الشهاب الحارق في 6 يونيو 2007 في 19:02

في المثال يتضح المقال

#6

السلام عليكم

الدرس الخامس وهو تابع للدرس الثالث بحيث سنقوم في هذا الدرس

بإدراج ملف نصي بدلاً من صورة وعن طريق العنصر OpenFileDialog

سنتعلم في هذا الدرس أولاً كيفية إدراج الملفات النصية في مشاريعنا كذلك

سنتعلم المزيد من الخصائص لصندوق الحوار OpenFileDialog و أخيرا

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

على زر المساعدة Help Button في صندوق الحوار

لنبدأ الدرس , الأدوات المتطلبة هي

1 - إفتح مشروع جديد و سمه OpenTextFileDailog

2 - قم بإدراج RichTextBox و سمه RTBHolder

3 - قم بإدراج زر Button و سمه btnOpenTextFile

4 - قم بإدراج العنصر OpenFileDialog و سمه OFD

الآن أولاً لنضع هذه الحاوية NameSpace في أعلى المشروع اي فوق الـ Public Class Form1

بهذا الشكل

Imports System.IO

وسبب ذلك أننا سنستخدم الفئة StreamReader لقراءة الملف النصي

ثانياً قم بتعريف هذه الفئة في داخل الـ Class للنموذج

يعني تحت الـ Windows Form Designer Generated Code

بهذا الشكل

Dim sr As StreamReader

الآن عند الضغط المزدوج على الزر سنذهب إلى حدث الضغط على الزر

سنكتب هذا النصوص البرمجية فيه

With OFD

            'Your custom Title
            .Title = "صندوق النصوص"

            ' للتحقق هل الملف المختار هو ملف نصي
            'غير ذلك ستظهر رسالة تحذيرية
            .CheckFileExists = True

            ' للتحقق هل المسار المختار مسار صحيح 
            .CheckPathExists = True

            ' كإمتداد إفتراضي  txt  وضع الإمتداد
            .DefaultExt = "txt"

            'إجعل أخر مجلد تم فتحه عن طريق 
            'صندوق الحوار كمجلد إفتراضي
            .RestoreDirectory = True

            ' إظهار زر المساعدة في صندوق الحوار 
            .ShowHelp = True


            'Filtering to show only the TEXT Files
            .Filter = "Text Files(*.TXT) |*.txt"

            'IF the Text File  Picked Up Then
            If .ShowDialog = DialogResult.OK Then

                'passing the Opened File as param
                sr = New StreamReader(.OpenFile)

                'Load the Contents  into RTB
                RTBHolder.Text = sr.ReadToEnd
            End If
        End With

تلاحظ كل العناصر الجديدة التي سنتعلمها اليوم تم التعليق عليها بالعربية

فلا تحتاج إلى شرح ثم فقط هو عند الضغط على الزر OK في صندوق الحوار

قمنا بإستنساخ عنصر من الفئة StreamReader و جعلنا السلوك OpenFile كممرر

وهو الملف المفتوح حالياً ثم قمنا بإسناد هذا الملف المفتوح في الخاصية

Text للعنصر RTBHolder وهو RichTextBox مع استخدام السلوك ReadToEnd

لقراءة محتوى هذا الملف المفتوح حاليا و إسنادة في الخاصية نفسها

تلاحظ من الخواص الجديدة التي نحنُ بصدد تعلما اليوم هي الخاصية

.ShowHelp = True

هذه الخاصية تقوم على إظهار زر المساعدة في صندوق الحوار

جرب وضغط على الزر (لا نتيجه ) و لا إستجابه لذلك لابد علينا أن نضع نصوصنا عند

الحدث هذا وهو حدث طلب المساعدة HelpRequest Event

وهي بسيطة جداً ما دمت أنت في نافذة النصوص البرمجية

اي في الوضع View Code أختر من القائمة Class العنصر OFD

ثم أختر من القائمة Method الحدث HelpRequest

سيتم إدرج النصوص البرمجية الازمة لإستقبال الحدث ضع فيه هذه الرسالة

MessageBox.Show("هذا الصندوق مخصص لإدراج الملفات النصية فقط", _
        "رسالة مساعدة", MessageBoxButtons.OK, _
        MessageBoxIcon.Information)

ستلاحظ عن الضغط على زر المساعدة ستخرج الرسالة المعنية

تستطيع في المشاريع الحقيقية ان تستبدلها بملف من نوع HTML أو غيره

وبذلك قد أنته الدرس

السلام عليكم

في المثال يتضح المقال

#7

السلام عليكم

الدرس السادس وهو عبارة عن حفظ البيانات من البرنامج إلى ملف نصي

وذلك بإستخدام العنصر SaveFileDialog

هذا الدرس تابع للدرس السابق

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

ضع هذا التعريف تحت التعريف السابق للعنصر sr بهذا الشكل

Dim sw As StreamWriter

ثم ضع تعريف لهذا المتغير كذلك بهذا الشكل وتحت sw

Dim HoldFileName As String

التعريف الأول كان للفئة StreamWriter وهو لتمكيننا من إنشاء ملف نصي

من مشروعنا عن طريقة

التعريف الثاني متغير من نوع نص ستقتصر مهمته على أخذ اسم الملف الذي تم

فتحه وجلبه للمشروع ومن ثم نلصق هذا الاسم كإسم إفتراضي لحفظ الملف النصي

الذي نود حفظه من المشروع إلى اي مكان في الجهاز

الان قم بالتالي

قم بإدراج العنصر SaveFileDialog و سمه SFD

ثم قم بوضع زر وسمه btnSaveTextFile واكتب عليه Save Text File

الان ضع هذه النصوص البرمجية عن حدث الضغط على الزر Click Event

With SFD

            'تخذير عند إنشاء ملف  , الحالة غير ممكن 
            .CreatePrompt = False

            'اخذ اسم الملف المفتوح السابقة 
            .FileName = HoldFileName

            'التحذير عند استبدال ملف موجود من الاصل
            .OverwritePrompt = True


            .Filter = "Text files (*.txt)|*.txt"

            .FilterIndex = 1

            If .ShowDialog() = DialogResult.OK Then

                sw = New StreamWriter(.FileName)

                sw.Write(RTBHolder.Text)

                sw.Close()
            End If

        End With

    End Sub

كما تلاحظ الخصائص الجديدة يتم التعليق عليها بالعربية

ثم تم اسناد قيمة المتغير HoldFileName والذي هو الآن لا يساوي شيء

ستعرف السبب قريباً , في الخاصية FileName التابعة للعنصر SFD

ثم في الشرط إذا تم الضغط على الزر ok

يتم إنشاء عنصر من الفئة StreamWriter و يكون اسم الملف المفتوح السابق

كممرر في هذا البناء أو العنصر Object ثم يتم كتابة الملف عن طريق السلوك Write

و تمرر الخاصية Text للعنصر RichTextBox كقيمة لهذا السلوك لكتابة محتواه

الان قم بوضع هذا النص البرمجي بعد الشرط if في زر التحميل للمشروع السابق

بهذا الشكل

If .ShowDialog = DialogResult.OK Then
                HoldFileName = .FileName

هذا الشرط للعنصر OFD ضع أن الـ HoldFileName يساوي FileName لهذا العنصر

لنتمكن فيما بعد من اسناد هذا القيمة عندما يود المستخدم حفظ هذا المشروع

والله الموفق

الملف المرفق معدل على 2005

السلام عليكم

AllInOneDialogBoxes.rar

تم تعديل هذه المشاركة بواسطة الشهاب الحارق في 6 يونيو 2007 في 19:00

في المثال يتضح المقال

#8

بارك الله فيك عزيزي الغملاسي ،، لقد استفدت من هذه الدروس بشكل كبير،، أشكرك على مجهودك الكبير

#9

الأخ العزيز

جزاك الله كل خير عن هذا المجهود الرائع (h)

#10

السلام عليكم

بارك الله من امثالك و جزاك الله خيرا

اكتشافات علمية في قيام الليل

من فوائد الحمـــى

هل تريد اكثر من مليار حسنه في دقيقه واحده ......

فقط قل هذه الجمله وستأخذ عن كل مسلم حسنه من غير أن ينقص من أجرهم شيئا

اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء منهم و الأموات

وتأخذ عن كل واحد حسنه فانظر كم عدد المسلمين

كلمتان خفيفتان على اللسان ثقيلتان في الميزان حبيبتان على الرحمن

" سبحان الله وبحمده سبحان الله العظيم"

* دقيقة واحده : تستطيع ان تقول لاحول ولا قوة الا بالله اكثر من ( 40 ) مره وهي كنز من كنوز الجنه .

دقيقة واحدة : تستطيع ان تصلي على النبي صلى الله عليه وسلم ( 20 ) مره فيصلي عليك الله مقابلها

( 200 ) مره وحطة عنه ( 200 ) خطيئة من خطاياه ، ورفع له ( 200 ) درجة .

#12

بالمثال يتظح المقال زدنا بأمثلة بارك الله فيك

راسلني على

mamb121@hotmail.com

أو تفضل وتكرم بزيارة موقعي

www.tecnyt.com

#13

بارك الله فيك

#14

شكرا درس رائع عن مربع الحوار

#15

السلام عليكم

لا شكر على واجب , أحسن الله إليكم

وهذا مثال على كل الدروس السابقة

لأجل منتدانا الغالي بمن فيه من أعضاء و مشرفين .

السلام عليكم

AllInOneDialogBoxes.zip

في المثال يتضح المقال

#16

السلام عليكم

أخي الكريم الغملاسي يعني لو قلنا أنك تعذبت معنا فهذا قليل عليك ..شكرا لك .لأني أبحث عن هذه الدروس منذ عام و نصف .

بس في عندي ملاحظة بسيطة يا ريت لو تزودنا فيها ..

في كود حفظ الصورة و تحديدا في الFilter أنت كتبت الFilter كالتالي:

.Filter = "Image Files(*.JPG;*.GIF) |*.jpg;*.gif"

[\CODE]

طيب عندما يريد المستخدم حفظ الصورة لا يستطيع التنقل بين اللواحق لنقل بأن المستخدم يريد أن يحفظ صورته بلاحقة Bmp

طيب كيف رح ينزل بالقائمة للاحقة Bmpأنت جعلته محكوم بال Jpg . ..و شكرا لك

على فكرة لقد جعلت اللواحق أوسع بالكود التالي لعله يفيد الجماهير:

[code]

.Filter = "Image Files(*.JPG;*.GIF;*.PNG;*.Bitmap;*.TIFF) |*.jpg;*.gif;*.PNG;*.bmp;*.TIF"

[\CODE]

و شكرا لك.

#18

الله يغفرلك كل ذنوبك على هذه المشاركات الرائعة

#19

THAAAAAAAAAAAAANX

هذا الموضوع مغلق.

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