السلام عليكم ورحمة الله وبركاته
هل يوجد حل لمشكلة ضبط النص(JustifiedText) في أدوات النصوص كالريتش بوكس مثلاً
أنا لا أقصد ضبط النص لليمين فقط أو لليسار فقط
أنا أقصد ضبط النص من جهتي اليمين واليسار كما في الصورة المرفقة
نعم أخي تستطيع فعل ذلك في أداة RichTextBox ولكن ليس عن طريق الكود وإنما بوضع خاصية المحاذاة داخل صيغة RTF
حيث أن أمر المحاذاة في صيغة RTF يبدأ بـ "\q" وبعد ذلك يتبعه الحرف الدال على الاتجاه وهي كالتالي:
كود :
l = Left محاذاة إلى اليسار وهو الافتراضي ولهذا فلا يتم إضافته داخل الصيغة
r = Right محاذاة إلى اليمين
c = Center توسيط النص
j = Justify محاذاة الجانبين
ولعمل خاصية محاذاة الجانبين استخدم الكود التالي:
كود :
RichTextBox1.SelectionAlignment = HorizontalAlignment.Center
If RichTextBox1.SelectedText <> "" Then
RichTextBox1.SelectedRtf = RichTextBox1.SelectedRtf.Replace("\qc", "\qj")
Else
RichTextBox1.Rtf = RichTextBox1.Rtf.Replace("\qc", "\qj")
End If
ألف شكر لك أخ sooriaty03 ولكن للأسف لم ينجح الكود
فقط يقوم بعرض النص لجهة اليمين
أرجو أن تتكرم وترفق لنا مثالاً مع الانتباه إلى النص الموجود داخل الريتش بوكس هو باللغة العربية
ويجب أن يتم ضبطه داخل الريتش بوكس مع الأسطر الموجودة أسفله من جهتي اليمين واليسار
وشكراً لكم
وعليكم السلام ورحمة الله وبركاته
جزاك الله خيراً أخ sooriaty03
لكن للأسف يبدو أن مشكلة JustifyText لم تحلها مايكروسوفت حتى في الدوت نت
في مثالك الذي وضعته انظر لو تكرمت للسطر الأخير ستراه متجهاً من اليسار لليمين وهذا خطأ
وهو نفس الخطأ الذي كنا نعاني منه في vb6 وحاولنا حله بطرق شتى دون جدوى
سيبقى السطر الأخير متجهاً من اليسار لليمين وهو عيب فادح في الأداة عندما يكون النص بالعربي
كان المفروض أن تحل مايكروسوفت هذه المشكلة في الدوت نت بإضافة خاصية جديدة
بالضبط كما تم فعله في TreeView و ListView عندما تم إضافة خاصية RightToLeftLayout
وانتهينا من مشكلة أكواد المرآة ..
أخ sooriaty03 جربت الكثير من الطرق سابقاً ولكن دون جدوى
والغريب أنا وصلنا للإصدارا 2013.2 وما زلنا بحاجة للتحايل هذا إن نفع ...
لماذا لا يتم مراسلة مايكرسوفت حول هذه النقاط علهم يقومون بحلها في أول تحديث ؟..