تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
سؤال في richtextbox تغيير اتجاه فقرة؟
#1
أريد وضع كود يغير اتجاه الفقرة فقط في 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);

كيف يمكن تغير الإتجاه لفقرة فقط دون باقي النص في الأداة؟
ملاحظة: لا أريد محاذاة النص فهذه لا تحل مشكلة تداخل النص إذا كان مكونا من لغتين
الرد
تم الشكر بواسطة:
#2
السلام عليكم
تفضل اخي الكريم ان كان هذا ماتريد
كود :
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;
       }
اعمل الخير واجرك لاتنتظره فالله خير من اليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد
تم الشكر بواسطة: abozeyd
#3
(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;
       }

جزاك الله خيرا لكن هذا الكود لمحاذاة يمين ويسار ووسط
ما أريده تغيير اتجاه فقرة من اليسار إلى اليمين أو العكس وهو يختلف عن هذه يمكن أن تجد هذا في الوورد تجد المحاذاة لوحدها وتغيير الاتجاه لوحده
الرد
تم الشكر بواسطة: ابراهيم ايبو
#4
السلام عليكم اخي الكريم
هل تقصد TextDirection  اي عندما نضغط  Ctrl+Shift  يسار او يمين؟
هل قرأت هذا الرابط
https://stackoverflow.com/questions/1263...o-left-typ
اعمل الخير واجرك لاتنتظره فالله خير من اليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد
تم الشكر بواسطة:
#5
(23-03-20, 09:45 PM)ابراهيم ايبو كتب : السلام عليكم اخي الكريم
هل تقصد TextDirection  اي عندما نضغط  Ctrl+Shift  يسار او يمين؟
هل قرأت هذا الرابط
https://stackoverflow.com/questions/1263...o-left-typ

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



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم