|
|
RichTextBox In VB.Net اداة الكتابة النصية
الأربعاء مارس 25, 2020 10:25 pm
RichTextBox In VB.Net اداة الكتابة النصية
RichTextBox In VB.Net اداة الكتابة النصية
اداة RichTextBox In VB.Net هي اداة مهمة جدا دخل الفيجوال بيسك وتحتوي اداة الكتابة النصية هي اهم الادوات من بعد اداة النص textbox والفرق بينهم ان اداة الكتابة النصية تشه كثيرا برنامج الورد العادي حيث انها تميز بميزات قوية من حيث الكتابة النصية وتغيير لون الخط وحجم الخط وتنسيق النص فستجدها كما برنامج الورد ويمكنك استخدامها لكتبة النصوص وحفظها علي الهارد ديسك يمكنك تطويرها عن طريق الاكواد وتتميز RichTextBox In VB.Net اداة النص بمزات جديدة يمكنك استخدامها في مشروعك فقط تحتاج الي كتابة نص الي مشروعك او البرنامج الذي تقوم بالعمل علية وتتميز RichTextBox In VB.Net اواداة الكتابة النصية بالسهولة في العمل علي كتابة المزيد من النصوص بها
خصائص RichTextBox In VB.Net اداة الكتابة النصية:
في البداية سنتعرف على أهم ما تقدمة لنا هذة الأداة والهدف الرئيسي الذي تم أنشاء الاداة من أجله
وهو فتح ملف نصي والكتابة فيه أو تعديله وأمكانية حفظ الملف في المسار المحدد حسب رغبة المستخدم
لفتح ملف نصي نستخدم : LoadFile
وهذا الكود التالي يفي بالغرض :
رموز PHP:
OpenFileDialog1.Filter = " Text Files (*.Txt)|*.txt"
If OpenFileDialog1.FileName = vbNullString Then Exit Sub
OpenFileDialog1.ShowDialog()
RichTextBox1.LoadFile(OpenFileDialog1.FileName, RichTextBoxStreamType.PlainText)
ولحـــــــفظ الملف نتستخدم : SaveFile
والكود التالي يفي بالغرض :
PHP كود :
SaveFileDialog1.Filter = " Text Files (*.Txt)|*.txt"
SaveFileDialog1.ShowDialog()
If SaveFileDialog1.FileName = vbNullString Then Exit Sub
RichTextBox1.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)
طيب لغاية الأن تمام .
خلينا نشوف كيف ممكن نبحث عن نص أو كلمة ضمن النص المعروض داخل الاداة
ونميزه عن غيرة بلون معين حسب الرغبة .
ونستخدم لهــــــذة Find العمـــــــليه :
PHP كود :
RichTextBox1.Text = "wellcome in my ***** ***Site With Abu Ehab"
RichTextBox1.SelectionStart = RichTextBox1.Find("*****")
RichTextBox1.SelectionColor = Color.Red
ممكن أيضـــــا نقـوم بتحـديد كامل النص بالأداة :
PHP كود :
With RichTextBox1
.Text = "My Name Is Abu Ehab "
.SelectAll()
.SelectionColor = Color.Red
End With
تعرفنا كيفية البحث عن نص وتحديدة بلون معين .
طيب لو كنت عايز تحدده بخط معين وليس بلون
أليك الكود التالى :
PHP كود :
RichTextBox1.Text = "wellcome in my ***** ***Site With Abu Ehab"
RichTextBox1.SelectionStart = RichTextBox1.Find("Abu Ehab")
Dim TextFont As New Font(RichTextBox1.Font, FontStyle.Bold)
RichTextBox1.SelectionFont = TextFont
بعــــد ما حددنا النص المطلوب البحث عنه ,, ربما نحتاج الى عمليات أخرى لهذا النص مثل ( نســـــخ _ قص _ لصق )
أختار العملية التي تريدها كما هو موضح :
PHP كود :
RichTextBox1.SelectionStart = RichTextBox1.Find("Your Text Here")
RichTextBox1.Copy()
RichTextBox1.Cut()
RichTextBox1.Paste()
تعالوا نرى كيفية أدراج صورة في الأداة :
PHP كود :
Dim img As Image = Image.FromFile("E:\AbuEhab.jpg")
Clipboard.SetImage(img)
Me.RichTextBox1.Paste()
وممكن ندرج مجموعة صور في الريسورس ونستدعيها :
PHP كود :
Clipboard.SetImage(My.Resources.SomeImage)
Me.RichTextBox1.Paste()
نأتي الى أدراج صورة من نوع Gif :
وهو كود كان من الصعب الحصول عليه وليس له أجابة بلغــــــة VB.Net في كل المنتديات
بل تم العثـور علية بلغــــة C Sharp وقـام الأستاذ : عبد الله ( أحد مشرفين في منتدي فجيوال بيسك العرب)
قام مشكورا بتحويله الى لغـة VB.Net .
تعلوا بنا نرى فكرة الكود والتي تتلخص في التالي :
انشاء كائن من نوع PictureBox وأدراج الصورة ذات الأمتداد Gif فيهـــا
ثم نجعل لون خلفية أداة PictureBox بنفس خلفية أداة RichTextBox
ثم أدراج أداة PictureBox والتي تحمل الصورة ذات الامتداد Gif المتحرك في أداة RichTextBox
يعني العمليـة فيهــــــا ذكــــــاء برمجي :
PHP كود :
Dim pic As New PictureBox
pic.Image = Image.FromFile("E:\112.gif")
pic.BackColor = RichTextBox1.BackColor
pic.SizeMode = PictureBoxSizeMode.AutoSize
RichTextBox1.AddControl(pic)
يعني كـود متعـوب عليـــــــــه كثيـــــر .
[INDENT]ممكن أيضــــا فتح ملف نصي من Resource هكـــذا :
PHP كود :
RichTextBox1.Text = My.Resources.New_Text_********
حيث أن : New_Text_******** هو أسم الملف النصي الموجود في Resource
لتحـديد مكان الكتـابة أو ظهور النص
أستخدم أحدى الطرق التــــــالية :
PHP كود :
RichTextBox1.SelectionAlignment = HorizontalAlignment.Center
RichTextBox1.SelectionAlignment = HorizontalAlignment.Left
RichTextBox1.SelectionAlignment = HorizontalAlignment.Right
وللبحــــث عن كلمــــــة أو جملة داخـــــل الاداة :
مثـــــــال :
PHP كود :
RichTextBox1.Text = "My Name is Abu Ehab , I Live In Gaza Strip"
Dim FoundAtPosition As Integer
FoundAtPosition = RichTextBox1.Find("Abu Ehab", RichTextBoxFinds.MatchCase)
Do Until FoundAtPosition < 0
FoundAtPosition = RichTextBox1.Find("Abu Ehab", FoundAtPosition + 1, RichTextBoxFinds.MatchCase)
Loop
[/INDENT]
للبحــــــث عن كلمة وتلوينهـــــا في كامل النص ,, يتتطلب الأمر مكتبة النصوص
نقوم بأستدعائها وتعريفها في فضــــــاء الاسماء كمايلي :
PHP كود :
Imports System.Text
Imports System.Text.RegularExpressions
ثم بعد أن نعرف متغير للمكتبة ,, نسمح للمستخدم بأدخال النص المراد البحث عنه في مربع نص كما يلي :
PHP كود :
Dim MatchCollectionX As MatchCollection
MatchCollectionX = Regex.Matches(RichTextBox1.Text, TextBox1.Text)
ثم نبــــــدأ البحث :
PHP كود :
Dim S As Match
Dim v As New ListBox
For Each S In MatchCollectionX
RichTextBox1.Select(S.Index, TextBox1.Text.Length)
RichTextBox1.SelectionColor = Color.Red
v.Items.Add(S.Value)
Next
أوكي شباب :
تعـــالوا نعمـــــل حاجة حلوة جدا وهي أنشاء خيارات للفأرة تحتوي على( نسخ_ قص_ لصق) ترافق أداتنا الجميلة .
راح نعمل مثال مع بعض :
اولا نضع أداتان RichTextBox1 ,RichTextBox2
ندرج أداة متخصصه في انشاء قوائم نستخدمها لانشاء خيارات الفأرو وهي ContextMenuStripتجدها في صندوق الادوات .
ندرج الاداة على الفورم ثم نضع لها خيارات كما في الصورة :
ثم ننقر على ادات الرتش 1 ونغير في الخاصية التالية كما في الصورة :
ثم ندخل أوامر النسخ والقص واللصق كما سبق شرح في مشاركة سابقة
ثم قم بالتنفيد
ثم أنقر بزر الفأرة الأيمن وستتضح لك الامور
رابط المشروع
مرفقات المشروع
تحميل المشروع
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى