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

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

 نبدا بسم الله الخطوات
اولا نفتح الفيجوال وننشأ project جديد ونسميه note pad ونضغط على ok لانشاء مشروعنا……
من صندوق الادوات toolbox نظيف الادوات الاتية :
اداة RichTextBox
اداة menuStrip
اداة SaveFileDialog
اداة. PrintDocument
اداة OpenFileDialog
اداة Label عدد 2
اداة Timer
هذة هي الادوات الي نحتاجها في مشروعنا……
العمل ناتي الئ اول اداة RichTextBox
نجعلها بحجم الفورم الذي نعمل عليه لان هذه الاداة هي مكان او مساحه التي نكتب عليها نصوص وذلك من خلال ضغط على سهم موجود على الاداة نفسها يظهر لدينا خيارين نختار خيار undock in Parent Container بعد ضغط على هذا خيار تصبح الاداة بحجم الفورم…… الاداة ثانية menuStrip نعمل قوائم من خلالها وتعلمنا سابقا كيف ننشأ القوائم نعمل 5 قوائم

   1⃣ القائمه الاولئ نسميها File وتضم الافرع تاليه : New
Open
Save
Exit
2⃣القائمة الثانيه نسميها Edit وتضم الافرع التالية :-
Undo
Redo
Cut
Copy
Paste
Clear text
Select all
3⃣ القائمه الثالثه نسميها Format وتضم الافرع التالية :-
Font
Color Font

4⃣ قائمة الرابعة نسميها Alignment وتضم الافرع التالية :
Left
Right
Center

5⃣ قائمة الخامسة نسميها Options وتضم الافرع التالية :
Backcolor
Print

هذه هي القوائم والافرع التي نحتاجها في مشروعنا……
نضع Label1 و Label2 بجنب قائمه Alignment ونغير اسم label1 الى time ونغير اسم Label2 الى date
الفائده من هذين الليبلين معرفه وقت والتاريخ من خلال اداة Timer
نضيف صور الى قوائم وكذلك الئ الافرع وهذه الخطوه اختياريه يرجع لك الخيار اخي المبرمج وايضا تعلمنا كيف نضيف صور الى الازرار وكذلك الئ قوائم في دروس سابقة…….
كذلك نضع صور الى جنب ليبل اول وليبل ثاني من خلال اضافة اداة PictureBox1 التي من خلالها نظع صور بجنب ليبل
الى هنا ننتهي من تصميم فورم انظر الى الشكل النهائي للفروم بالصور
لاحظ القوائم والادوات التي ضفناها للبرنامج
قائمة Edit
قائمه Format
قائمه Alignment
قائمة Options
التاريخ والوقت

واضفت قائمة خامسه اسميتها Options
واضفت اداة اسمها PrintDocument
هذا التعديل فقط مرحلة برمجة مشروعنا المفكرة Note pad 

سيكون البرنامج بعد التصميم بالشكل التالي كما في الصور 








 الآن سنبرمج القوائم بالتسلسل 1⃣ قائمة File

ننقر نقرتين على خيار New ونكتب الكود التالي :
RichTextBox1.Clear()


ثم ننقر نقرتين على خيار Open ونكتب الكود التالي :
On Error Resume Next

         OpenFileDialog1.ShowDialog()

         RichTextBox1.LoadFile(OpenFileDialog1.FileName, RichTextBoxStreamType.PlainText)


شرح الكود سطر اول وضعنا جمله تتبع خطا سطر ثاني عند ضغط على خيار Open يفتح لي نافذة للبحث عن ملق في حاسوب
سطر ثالث حملنا بيانات ملف .

ثم ننقر نقرتين على خيار Save ونكتب الكود التالي :
 
On Error Resume Next

       SaveFileDialog1.ShowDialog()

        RichTextBox1.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)
شرح الكود الكود نفسه هو كود فتح Open اي فتحنا نافذة حفظ ملف ثم حفظنا الملف باسم معين …… 
 
ثم ننقر نقرتين على خيار Exit ونكتب الكود التالي :
Dim x As String


x = MsgBox("هل تريد بالتأكيد الخروج من البرنامج نهائياُ", MsgBoxStyle.YesNo, "تنبيه")
If x = vbYes Then


End

Else


Me.Show()

End If


شرح الكود سطر اول عرفنا متغير اسمه x سطر ثاني جعلنا متغير x يساوي رساله مسج اي عند ضغط على خيار Exit تظهر رساله وتنبيه هي " هل تريد بالتاكيد الخروج من البرنامج نهائيا"
ثم عملنا داله شرطيه if اما yes او No 
 
✅ الئ هنا ننتهي من برمجة قائمة File 2⃣ قائمة Edit

ثم ننقر نقرتين على خيار Undo ونكتب الكود التالي :
RichTextBox1.Undo()

  

ننقر نقرتين على خيار Redo ونكتب الكود التالي :
RichTextBox1.Redo()

ننقر نقرتين على خيار Cut ونكتب الكود التالي :
RichTextBox1.Cut()

ننقر نقرتين على خيار Copy ونكتب الكود التالي :
RichTextBox1.Copy()
ننقر نقرتين على خيار paste ونكتب الكود التالي :
RichTextBox1.Paste()
ننقر نقرتين على خيار Clear text ونكتب الكود التالي :
RichTextBox1.Clear()


ننقر نقرتين على خيار Select all ونكتب الكود التالي :
RichTextBox1.SelectAll()


الئ هنا ننتهي من برمجة قائمة Edit ⚠️ ملاحظه الاكواد لا تحتاج شرح ومفهومة وبسيطة 
 
3⃣ قائمة Format
ننقر نقرتين على خيار Font ونكتب الكود التالي :
Try


Dim dlg As FontDialog = New FontDialog

 
dlg.Font = RichTextBox1.Font


If dlg.ShowDialog =    System.Windows.Forms.DialogResult.OK Then


RichTextBox1.Font = dlg.Font


End If
Catch ex As Exception

End Try


⚙شرح الكود عملنا جمله Try لتتبع الخطأ عند تنفيذ البرنامج في سطر اول عرفنا متغير اسمه dlg من نوع خط FontDialog في سطر ثاني جعلنا متغير dlg يساوي خط font ويساوي RichTextBox1 التي نكتب عليها نصوص… في سطر ثالث عملنا داله شرطيه وجعلنا متغير dug يفتح فورم خط الموجود في الويندوز في سطر رابع اجرينا تعديل على RichTextBox1 التي كتبنا عليها نصوص ننقر نقرتين على خيار Color font ونكتب الكود التالي :
ry

 
Dim dlg As ColorDialog = New ColorDialog

 
dlg.Color = RichTextBox1.ForeColor

  
If dlg.ShowDialog = System.Windows.Forms.DialogResult.OK Then

                 RichTextBox1.ForeColor = dlg.Color


End If

Catch ex As Exception : End

Try


⚙شرح الكود الكود نفس كود Font عرفنا متغير ثم جعلنا متغير يساوي لون خط ثم في داله شرطيه فتحنا فورم الالوان ثم اعطينا النص لون معين ✅ الى هنا تنتهي برمجة قائمة Format 4⃣ قائمة Alignment ننقر نقرتين على خيار Left ونكتب الكود التالي :
سطر واحد 
RichTextBox1.SelectionAlignment = HorizontalAlignment.Left


ننقر نقرتين على خيار Right ونكتب الكود التالي :

 
RichTextBox1.SelectionAlignme
nt = HorizontalAlignment.Right

ننقر نقرتين على خيار Center ونكتب الكود التالي :
 
RichTextBox1.SelectionAlignment = HorizontalAlignment.Center

ملاحظه الاكواد لا تحتاج الى شرح الكود الاول لجعل نص كتابه من يسار الكود الثاني لجعل نص كتابه من يمين الكود الثالث لجعل نص كتابه في الوسط ✅الى هنا ننتهي من برمجة قائمة Alignment 5⃣ قائمة Options ننقر على خيار BackColor ونكتب الكود التالي:
Try

 
Dim colordlog As ColorDialog = New ColorDialog

 
colordlog.Color = RichTextBox1.BackColor

  
If colordlog.ShowDialog = System.Windows.Forms.DialogResult.OK Then

                  RichTextBox1.BackColor = colordlog.Color


End If
Catch ex As Exception
End Try
الكود لا يحتاج شرح هو نفسه كود خيار. Colorfont فقط متغير يختلف جعلنا اسمه هو colordlog خيار Print هذا الخيار يحتاج الى تعريف فضاء الاسماء ،، وتعلمنا سابقا كيف نكتب فضاء الاسماء اذن ننقر نقرتين على الفورم وفوق public نكتب الكود التالي :
 
Imports
System.Drawing.Printing

 
Imports System.Text


ثم تحت Public نكتب الكود التالي

  
Private Sub PrintText(ByVal sender As Object,

  
ByVal ev As PrintPageEventArgs)

ثم ننقر على خيار Print ونكتب الكود التالي :
Try

 
Dim PrintDoc As New PrintDocument

 
AddHandler PrintDoc.PrintPage, AddressOf Me.PrintText

 
PrintDoc.Print()


Catch ex As Exception

             MessageBox.Show("عفواً--حدث خطأ عند عملية الطباعة", ex.ToString())


End Try

شرح الكود في بداية عملنا جمله Try لتتبع الخطأ في سطر اول عرفنا متغير printDoc من نوع PrintDocument هي الاداة التي اضفناها على الفروم في سطر ثاني عند ضغط على خيار Print اي طباعة يفتح لنا برنامج الورد لطابعة الصفحة printpage في سطر ثالث يطبع في سطر رابع عندما لا يتنفذ جمله سطر ثالث يظهر رساله مسج خطا عند عملية الطباعة" الى هنا ننتهي من برمجة قائمة Options

 برمجة اداة تاريخ والوقت نحن اضفنا اداة تايمر Timer واضفنا ليبل Label اثنين

 ننقر نقرتين على الفروم وفي حدث اللود Load نكتب الكود التالي :
Timer1.Start()

ننقر نقرتين على اداة Timer1. ونكتب الكود التالي :
Label1.Text = TimeOfDay

Label2.Text = DateString

✅ الى هنا ينتهي برمجة Time و Date الى هنا ينتهي برنامجنا باكملة يحتوي البرنامج على قوائم 5 وكل قائمة تحتوي على افرع مثلا قائمة file تحتوي على جديد وفتح وحفظ وخروج قائمة Edit تحتوي على تراجع عن اخر عملية وارجاع العمليه ونسخ وقص ومسح نص وتحديد نص قائمة Format تحتوي على تحكم بحجم خط وتغير نوع خط وايضا تحتوي على تغير لون الخط قائمه Alignment تحتوي على اتجاهات نص يسار ، يمين ، وسط قائمه Options تحتوي على تغير خلفيه البرنامج وطباعه المفكره وايضا يحتوي على معرفه الوقت والتاريخ الحالي…… هذا برنامجنا الذي قمنا بانشائه ببساطه 〰〰〰〰〰〰〰〰〰〰〰 انظر إلى صور عند تنفيذ البرنامج وجربنا جميع خيارات البرنامج بعد مانفذنا البرنامج كتبنا ثم غيرنا حجم خط غيرنا لون خط حفظنا ملف نص فتحنا ملف نص بعد ماحفظناه الشكل النهائي للفروم بعد تنفيذ البرنامج مني لكم هذه جميع الاكواد التي استخدمتها في البرنامج انتظروني في درس قادم ان شاء الله واكثر احترافيه

صور البرنامج بعد التنفيذ












كود المشروع كاملا

  --open

  On Error Resume Next
  OpenFileDialog1.ShowDialog()
  RichTextBox1.LoadFile(OpenFileDialog1.FileName, RichTextBoxStreamType.PlainText)



  ----save

  On Error Resume Next
  SaveFileDialog1.ShowDialog()
  RichTextBox1.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)


  -----new
  RichTextBox1.Clear()


  ---- exit

  Dim x As String
  x = MsgBox("هل تريد بالتأكيد الخروج من البرنامج نهائياُ", MsgBoxStyle.YesNo, "تنبيه")
  If x = vbYes Then
  End
  Else
  Me.Show()
  End If

  -edit
  ---------------------
  RichTextBox1.Undo()

  RichTextBox1.Redo()

  RichTextBox1.Clear()

  RichTextBox1.Cut()

  RichTextBox1.Copy()

  RichTextBox1.Paste()

  RichTextBox1.SelectAll()
  --------------------------

  ---font

  Try
  Dim dlg As FontDialog = New FontDialog
  dlg.Font = RichTextBox1.Font
  If dlg.ShowDialog = System.Windows.Forms.DialogResult.OK Then
  RichTextBox1.Font = dlg.Font

  End If
  Catch ex As Exception

  End Try


  ---color font

  Try
  Dim dlg As ColorDialog = New ColorDialog
  dlg.Color = RichTextBox1.ForeColor
  If dlg.ShowDialog = System.Windows.Forms.DialogResult.OK Then
  RichTextBox1.ForeColor = dlg.Color
  End If
  Catch ex As Exception : End Try

  ------------------------------------
  --Alignment

  RichTextBox1.SelectionAlignment = HorizontalAlignment.Left

  RichTextBox1.SelectionAlignment = HorizontalAlignment.Right

  RichTextBox1.SelectionAlignment = HorizontalAlignment.Center

  -----------------------------------

  --backcolor

  Try
  Dim colordlog As ColorDialog = New ColorDialog
  colordlog.Color = RichTextBox1.BackColor
  If colordlog.ShowDialog = System.Windows.Forms.DialogResult.OK Then
  RichTextBox1.BackColor = colordlog.Color

  End If
  Catch ex As Exception

  End Try

  -------------------------------------------
  ---print

  Try
  Dim PrintDoc As New PrintDocument
  AddHandler PrintDoc.PrintPage, AddressOf Me.PrintText
  PrintDoc.Print()
  Catch ex As Exception

  سطر رابع            MessageBox.Show("عفواً--حدث خطأ عند عملية الطباعة", ex.ToString())


  End Try

  --------------------------------

  Imports System.Drawing.Printing
  Imports System.Text

  Public Class Form1
  Private Sub PrintText(ByVal sender As Object,
  ByVal ev As PrintPageEventArgs)
  End Sub


  ---------------------------------


  -timer

  Label1.Text = TimeOfDay
  Label2.Text = DateString

  --------------
  form load timer

  Timer1.Start()