منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
سؤال في richtextbox تغيير اتجاه فقرة؟ - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة السي شارب C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=175)
+--- قسم : قسم اسئلة C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=176)
+--- الموضوع : سؤال في richtextbox تغيير اتجاه فقرة؟ (/showthread.php?tid=33950)



سؤال في richtextbox تغيير اتجاه فقرة؟ - abozeyd - 23-03-20

أريد وضع كود يغير اتجاه الفقرة فقط في richtextbox من اليمين إلى اليسار أو من اليسار إلى اليمين
عندي هذا الكود
كود :
Rtxt.RightToLeft = RightToLeft.Yes;
 هذا الأسلوب يغير اتجاه الأداة كاملة إلى (من اليمين إلى اليسار) والمشكل فيه أنه يزيل جميع التنسيقات

كذلك استعملت الكود التالي وهو يحتفظ بالتنسيقات بشكل جيد لكن يعمل على كامل الأداة وليس على فقرة فقط
كود :
اليمين إلى اليسار
var indexofltrparObject = Rtxt.Rtf.IndexOf(@"\ltrpar", System.StringComparison.Ordinal);
           Rtxt.Rtf = Rtxt.Rtf.Insert(indexofltrparObject, @"\qr");

واليسار إلى اليمين
int indexOfQr = Rtxt.Rtf.IndexOf(@"\qr", System.StringComparison.Ordinal);
           if (indexOfQr != -1)
               Rtxt.Rtf = Rtxt.Rtf.Remove(indexOfQr, @"\qr".Length);

كيف يمكن تغير الإتجاه لفقرة فقط دون باقي النص في الأداة؟
ملاحظة: لا أريد محاذاة النص فهذه لا تحل مشكلة تداخل النص إذا كان مكونا من لغتين


RE: سؤال في richtextbox تغيير اتجاه فقرة؟ - ابراهيم ايبو - 23-03-20

السلام عليكم
تفضل اخي الكريم ان كان هذا ماتريد
كود :
private void button1_Click(object sender, EventArgs e)
       {
           richTextBox1.SelectionAlignment = HorizontalAlignment.Center;
       }

       private void button2_Click(object sender, EventArgs e)
       {
           richTextBox1.SelectionAlignment = HorizontalAlignment.Left;
       }

       private void button3_Click(object sender, EventArgs e)
       {
           richTextBox1.SelectionAlignment = HorizontalAlignment.Right;
       }



RE: سؤال في richtextbox تغيير اتجاه فقرة؟ - abozeyd - 23-03-20

(23-03-20, 06:33 PM)ابراهيم ايبو كتب : السلام عليكم
تفضل اخي الكريم ان كان هذا ماتريد
كود :
private void button1_Click(object sender, EventArgs e)
       {
           richTextBox1.SelectionAlignment = HorizontalAlignment.Center;
       }

       private void button2_Click(object sender, EventArgs e)
       {
           richTextBox1.SelectionAlignment = HorizontalAlignment.Left;
       }

       private void button3_Click(object sender, EventArgs e)
       {
           richTextBox1.SelectionAlignment = HorizontalAlignment.Right;
       }

جزاك الله خيرا لكن هذا الكود لمحاذاة يمين ويسار ووسط
ما أريده تغيير اتجاه فقرة من اليسار إلى اليمين أو العكس وهو يختلف عن هذه يمكن أن تجد هذا في الوورد تجد المحاذاة لوحدها وتغيير الاتجاه لوحده


RE: سؤال في richtextbox تغيير اتجاه فقرة؟ - ابراهيم ايبو - 23-03-20

السلام عليكم اخي الكريم
هل تقصد TextDirection  اي عندما نضغط  Ctrl+Shift  يسار او يمين؟
هل قرأت هذا الرابط
https://stackoverflow.com/questions/12634606/how-to-change-richtextboxs-right-to-left-typ


RE: سؤال في richtextbox تغيير اتجاه فقرة؟ - abozeyd - 23-03-20

(23-03-20, 09:45 PM)ابراهيم ايبو كتب : السلام عليكم اخي الكريم
هل تقصد TextDirection  اي عندما نضغط  Ctrl+Shift  يسار او يمين؟
هل قرأت هذا الرابط
https://stackoverflow.com/questions/12634606/how-to-change-richtextboxs-right-to-left-typ

نعم وقد نقلت الأكواد منه وهي موجودة أعلاه في المنشور لكن المشكل فيها أنها تعمل على كامل الأداة فتعكس الإتجاه لها لكنها لا تؤثر على النص فيبقى التداخل في النصوص المتكون من عربي وأجنبي