منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] كيف يمكنني البحث على نص و تلوينه بلون احمر - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] كيف يمكنني البحث على نص و تلوينه بلون احمر (/showthread.php?tid=33064)



كيف يمكنني البحث على نص و تلوينه بلون احمر - al9atl - 20-01-20

السلام عليكم
اريد كود للبحث عن نص في اداة richtextbox
و تلوينه بلون احمر
انا اعرف كيف ابحث عن كلمة او جملة و تلوينها بشرط ان تكن في سطر واحد مثل التي لونتها بالون الازرق و  لا اعرف كيف ابحث عن نص يتكون من عدة اسطر مثل هدا النص الملون بالاحمر

هل هدا ممكن ؟


RE: كيف يمكنني البحث على نص و تلوينه بلون احمر - جميل5 - 20-01-20

يوجد كود بحث مشهور لأداة RichTextBox
ولكن يلون خلفية النتيجة كما يحدث في محرر الفيجوال ستوديو
ويتمز بأنه يلون جميع نتائج البحث حتى لو تعددت في أماكن مختلفة
وسوف يلون حتى لو أن النتيجة الواحدة كانت طويلة بأكثر من سطر
PHP كود :
   Sub RichTextBoxSearch(txt As String)
 
       RichTextBox1.SelectAll()
 
       RichTextBox1.SelectionBackColor Color.White
        Dim index 
As Integer 0
        Do
            index 
RichTextBox1.Find(txtindexRichTextBoxFinds.None)
 
           If index = -1 Then Exit Do
 
           RichTextBox1.SelectionBackColor Color.LightSkyBlue
            index 
+= txt.Length
        Loop
        RichTextBox1
.SelectionLength 0
    End Sub 
يمكنك تغيير التلوين ليقوم بتلوين الكلام بدل الخلفية بتبديل BackColor إلى Color


RE: كيف يمكنني البحث على نص و تلوينه بلون احمر - al9atl - 20-01-20

(20-01-20, 10:10 PM)جميل5 كتب : يوجد كود بحث مشهور لأداة RichTextBox
ولكن يلون خلفية النتيجة كما يحدث في محرر الفيجوال ستوديو
ويتمز بأنه يلون جميع نتائج البحث حتى لو تعددت في أماكن مختلفة
وسوف يلون حتى لو أن النتيجة الواحدة كانت طويلة بأكثر من سطر
PHP كود :
   Sub RichTextBoxSearch(txt As String)
 
       RichTextBox1.SelectAll()
 
       RichTextBox1.SelectionBackColor Color.White
        Dim index 
As Integer 0
        Do
            index 
RichTextBox1.Find(txtindexRichTextBoxFinds.None)
 
           If index = -1 Then Exit Do
 
           RichTextBox1.SelectionBackColor Color.LightSkyBlue
            index 
+= txt.Length
        Loop
        RichTextBox1
.SelectionLength 0
    End Sub 
يمكنك تغيير التلوين ليقوم بتلوين الكلام بدل الخلفية بتبديل BackColor إلى Color

مرحبا جربت الكود لكن البرامج يعلق


RE: كيف يمكنني البحث على نص و تلوينه بلون احمر - جميل5 - 20-01-20

أنا استخدمه في أكثر من مشروع بدون مشكلة،

قد تكون غيرت بالكود أو وضعته داخل كود آخر فتسبب في هذا التعليق.


RE: كيف يمكنني البحث على نص و تلوينه بلون احمر - al9atl - 20-01-20

مرات البرنامج يعمل و مرات يعلق وبكن عندما اختار نص اكثر من سطر لا يعلق فقط
ممكن تعمل مثال

(20-01-20, 10:37 PM)جميل5 كتب : أنا استخدمه في أكثر من مشروع بدون مشكلة،

قد تكون غيرت بالكود أو وضعته داخل كود آخر فتسبب في هذا التعليق.

وضعته هاكدا
إقتباس :Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        RichTextBoxSearch(TextBox1.Text)
    End Sub



RE: كيف يمكنني البحث على نص و تلوينه بلون احمر - جميل5 - 21-01-20

اذا كان النص الاصلي كبير جدا قد يأخذ وقتا

لكن تاكد انك لم تكرر استدعاء البحث في مكان آخر

بالنسبة للسطر الأخير RichTextBox1.SelectionLength = 0 نسيت أن أحذفه

اذا استمرت المشكلة ضع المشروع


RE: كيف يمكنني البحث على نص و تلوينه بلون احمر - al9atl - 21-01-20

(21-01-20, 12:07 AM)جميل5 كتب : اذا كان النص الاصلي كبير جدا قد يأخذ وقتا

لكن تاكد انك لم تكرر استدعاء البحث في مكان آخر

بالنسبة للسطر الأخير RichTextBox1.SelectionLength = 0 نسيت أن أحذفه

اذا استمرت المشكلة ضع المشروع

مرحبا اخي عرفت اين المشكلة الكود يعمل المشكلة في انص الدي عندي غير ملتصق مع بعضه
لكن هل يمكن حل مشكلة
لان انصوص التي عندي مثل هده
إقتباس :بِسۡمِ ٱللَّهِ ٱلرَّحۡمَٰنِ ٱلرَّحِيمِ ١
ٱلۡحَمۡدُ لِلَّهِ رَبِّ ٱلۡعَٰلَمِينَ ٢ 
ٱلرَّحۡمَٰنِ ٱلرَّحِيمِ ٣ مَٰلِكِ يَوۡمِ ٱلدِّينِ ٤ 
إِيَّاكَ نَعۡبُدُ وَإِيَّاكَ نَسۡتَعِينُ ٥ ٱهۡدِنَا 
ٱلصِّرَٰطَ ٱلۡمُسۡتَقِيمَ ٦ صِرَٰطَ ٱلَّذِينَ أَنۡعَمۡتَ 
عَلَيۡهِمۡ غَيۡرِ ٱلۡمَغۡضُوبِ عَلَيۡهِمۡ 
وَلَا ٱلضَّآلِّينَ


اريد تلوين مثلا هده 
إقتباس :صِرَٰطَ ٱلَّذِينَ أَنۡعَمۡتَ 
عَلَيۡهِمۡ غَيۡرِ ٱلۡمَغۡضُوبِ عَلَيۡهِمۡ 
وَلَا ٱلضَّآلِّينَ

بالبحث عليها بنص ملتصق مثل هدا  =>   صِرَٰطَ ٱلَّذِينَ أَنۡعَمۡتَ عَلَيۡهِمۡ غَيۡرِ ٱلۡمَغۡضُوبِ عَلَيۡهِمۡ وَلَا ٱلضَّآلِّينَ

هل يمكن التعرف عليها و تلوينها


RE: كيف يمكنني البحث على نص و تلوينه بلون احمر - al9atl - 22-01-20

الا يمكن او ارفق لكم مشروع حتى تفهمو قصدي جيدا اد لم اشرح جيدا !!


RE: كيف يمكنني البحث على نص و تلوينه بلون احمر - al9atl - 25-01-20

السلام عليكم 
اسف على عدم متابعت سؤالي كثيرا بسبب نقص في الانترناث
انا ارفقت لكم مشروع و يبقى التعديل على الكود ليناسب برنامجي
ان شاء الله تجدون لي الحل

https://www.mediafire.com/file/aauh6dy8g8br764/90763/file

(21-01-20, 12:07 AM)جميل5 كتب : اذا كان النص الاصلي كبير جدا قد يأخذ وقتا

لكن تاكد انك لم تكرر استدعاء البحث في مكان آخر

بالنسبة للسطر الأخير RichTextBox1.SelectionLength = 0 نسيت أن أحذفه

اذا استمرت المشكلة ضع المشروع

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

https://www.mediafire.com/file/aauh6dy8g8br764/90763/file


RE: كيف يمكنني البحث على نص و تلوينه بلون احمر - جميل5 - 25-01-20

حتى الوورد لا يتيح البحث بالطريقة التي ذكرتها

البحث يتم في الفقرات، كل على حدة.
اما أن يكون النص المراد البحث فيه متصلاً
أو ابحث عن كلمة واحدة.

بخصوص سؤالك الموجود في المشروع الخاص ب (للكتابة في الوسط)
ضع السطرين في الحدث Form1_Shown