السلام عليكم
اريد كود للبحث عن نص في اداة richtextbox
و تلوينه بلون احمر
انا اعرف كيف ابحث عن كلمة او جملة و تلوينها بشرط ان تكن في سطر واحد مثل التي لونتها بالون الازرق و لا اعرف كيف ابحث عن نص يتكون من عدة اسطر مثل هدا النص الملون بالاحمر
هل هدا ممكن ؟
يوجد كود بحث مشهور لأداة RichTextBox
ولكن يلون خلفية النتيجة كما يحدث في محرر الفيجوال ستوديو
ويتمز بأنه يلون جميع نتائج البحث حتى لو تعددت في أماكن مختلفة
وسوف يلون حتى لو أن النتيجة الواحدة كانت طويلة بأكثر من سطر
PHP كود :
Sub RichTextBoxSearch(txt As String)
RichTextBox1.SelectAll()
RichTextBox1.SelectionBackColor = Color.White
Dim index As Integer = 0
Do
index = RichTextBox1.Find(txt, index, RichTextBoxFinds.None)
If index = -1 Then Exit Do
RichTextBox1.SelectionBackColor = Color.LightSkyBlue
index += txt.Length
Loop
RichTextBox1.SelectionLength = 0
End Sub
يمكنك تغيير التلوين ليقوم بتلوين الكلام بدل الخلفية بتبديل BackColor إلى Color
(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(txt, index, RichTextBoxFinds.None)
If index = -1 Then Exit Do
RichTextBox1.SelectionBackColor = Color.LightSkyBlue
index += txt.Length
Loop
RichTextBox1.SelectionLength = 0
End Sub
يمكنك تغيير التلوين ليقوم بتلوين الكلام بدل الخلفية بتبديل BackColor إلى Color
مرحبا جربت الكود لكن البرامج يعلق
أنا استخدمه في أكثر من مشروع بدون مشكلة،
قد تكون غيرت بالكود أو وضعته داخل كود آخر فتسبب في هذا التعليق.
مرات البرنامج يعمل و مرات يعلق وبكن عندما اختار نص اكثر من سطر لا يعلق فقط
ممكن تعمل مثال
(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
اذا كان النص الاصلي كبير جدا قد يأخذ وقتا
لكن تاكد انك لم تكرر استدعاء البحث في مكان آخر
بالنسبة للسطر الأخير RichTextBox1.SelectionLength = 0 نسيت أن أحذفه
اذا استمرت المشكلة ضع المشروع
(21-01-20, 12:07 AM)جميل5 كتب : [ -> ]اذا كان النص الاصلي كبير جدا قد يأخذ وقتا
لكن تاكد انك لم تكرر استدعاء البحث في مكان آخر
بالنسبة للسطر الأخير RichTextBox1.SelectionLength = 0 نسيت أن أحذفه
اذا استمرت المشكلة ضع المشروع
مرحبا اخي عرفت اين المشكلة الكود يعمل المشكلة في انص الدي عندي غير ملتصق مع بعضه
لكن هل يمكن حل مشكلة
لان انصوص التي عندي مثل هده
إقتباس :بِسۡمِ ٱللَّهِ ٱلرَّحۡمَٰنِ ٱلرَّحِيمِ ١
ٱلۡحَمۡدُ لِلَّهِ رَبِّ ٱلۡعَٰلَمِينَ ٢
ٱلرَّحۡمَٰنِ ٱلرَّحِيمِ ٣ مَٰلِكِ يَوۡمِ ٱلدِّينِ ٤
إِيَّاكَ نَعۡبُدُ وَإِيَّاكَ نَسۡتَعِينُ ٥ ٱهۡدِنَا
ٱلصِّرَٰطَ ٱلۡمُسۡتَقِيمَ ٦ صِرَٰطَ ٱلَّذِينَ أَنۡعَمۡتَ
عَلَيۡهِمۡ غَيۡرِ ٱلۡمَغۡضُوبِ عَلَيۡهِمۡ
وَلَا ٱلضَّآلِّينَ
اريد تلوين مثلا هده
إقتباس :صِرَٰطَ ٱلَّذِينَ أَنۡعَمۡتَ
عَلَيۡهِمۡ غَيۡرِ ٱلۡمَغۡضُوبِ عَلَيۡهِمۡ
وَلَا ٱلضَّآلِّينَ
بالبحث عليها بنص ملتصق مثل هدا => صِرَٰطَ ٱلَّذِينَ أَنۡعَمۡتَ عَلَيۡهِمۡ غَيۡرِ ٱلۡمَغۡضُوبِ عَلَيۡهِمۡ وَلَا ٱلضَّآلِّينَ
هل يمكن التعرف عليها و تلوينها
الا يمكن او ارفق لكم مشروع حتى تفهمو قصدي جيدا اد لم اشرح جيدا !!
السلام عليكم
اسف على عدم متابعت سؤالي كثيرا بسبب نقص في الانترناث
انا ارفقت لكم مشروع و يبقى التعديل على الكود ليناسب برنامجي
ان شاء الله تجدون لي الحل
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
حتى الوورد لا يتيح البحث بالطريقة التي ذكرتها
البحث يتم في الفقرات، كل على حدة.
اما أن يكون النص المراد البحث فيه متصلاً
أو ابحث عن كلمة واحدة.
بخصوص سؤالك الموجود في المشروع الخاص ب (للكتابة في الوسط)
ضع السطرين في الحدث Form1_Shown