نمایش نتایج 1 تا 8 از 8

نام تاپیک: مشکل RightToLeft در richtextbox

  1. #1
    کاربر دائمی آواتار samiasoft
    تاریخ عضویت
    مهر 1391
    محل زندگی
    اردبیل
    پست
    1,242

    مشکل RightToLeft در richtextbox

    سلام وقت بخیر

    یک چک باکس در فرم قرار دادم که کاربر با فعال کردن و یا غیرفعال کردن ان میتواند متن داخل ریچ تکست باکس را چپ به راست یا برعکس کند با این دستور :

    private void checkBox_RightToLeft_CheckedChanged(object sender, EventArgs e)        {
    if (checkBox_RightToLeft.Checked)
    {
    richTextBox_descriptions.RightToLeft = RightToLeft.Yes;

    }
    else
    {
    richTextBox_descriptions.RightToLeft = RightToLeft.No;
    }
    }


    مشکلی که وجود داره اینه وقتی متن فارسی را راست به چپ میکنم همانطور که در تصویر میبینید در سمت راست فضای خالی ایجاد میشود!!!!!!


    به نظرتون مشکل از کجاست؟!

  2. #2

    نقل قول: مشکل RightToLeft در ریچ تکست باکس

    نقل قول نوشته شده توسط samiasoft مشاهده تاپیک
    سلام وقت بخیر

    یک چک باکس در فرم قرار دادم که کاربر با فعال کردن و یا غیرفعال کردن ان میتواند متن داخل ریچ تکست باکس را چپ به راست یا برعکس کند با این دستور :

    private void checkBox_RightToLeft_CheckedChanged(object sender, EventArgs e)        {
    if (checkBox_RightToLeft.Checked)
    {
    richTextBox_descriptions.RightToLeft = RightToLeft.Yes;

    }
    else
    {
    richTextBox_descriptions.RightToLeft = RightToLeft.No;
    }
    }


    مشکلی که وجود داره اینه وقتی متن فارسی را راست به چپ میکنم همانطور که در تصویر میبینید در سمت راست فضای خالی ایجاد میشود!!!!!!


    به نظرتون مشکل از کجاست؟!
    امتحان کنید :

    private void checkBox_RightToLeft_CheckedChanged(object sender, EventArgs e)
    {
    var selectionStart = richTextBox_descriptions.SelectionStart;
    var selectionLength = richTextBox_descriptions.SelectionLength;
    richTextBox_descriptions.SelectAll();
    richTextBox_descriptions.SelectionHangingIndent = 0;
    richTextBox_descriptions.SelectionIndent = 0;
    richTextBox_descriptions.SelectionRightIndent = 0;
    richTextBox_descriptions.SelectionTabs = null;
    richTextBox_descriptions.RightToLeft = (checkBox_RightToLeft.Checked) ? RightToLeft.Yes : RightToLeft.No;
    richTextBox_descriptions.SelectionStart = selectionStart;
    richTextBox_descriptions.SelectionLength = selectionLength;
    }

  3. #3
    کاربر دائمی آواتار samiasoft
    تاریخ عضویت
    مهر 1391
    محل زندگی
    اردبیل
    پست
    1,242

    نقل قول: مشکل RightToLeft در ریچ تکست باکس

    نقل قول نوشته شده توسط the king مشاهده تاپیک
    امتحان کنید :

    private void checkBox_RightToLeft_CheckedChanged(object sender, EventArgs e)
    {
    var selectionStart = richTextBox_descriptions.SelectionStart;
    var selectionLength = richTextBox_descriptions.SelectionLength;
    richTextBox_descriptions.SelectAll();
    richTextBox_descriptions.SelectionHangingIndent = 0;
    richTextBox_descriptions.SelectionIndent = 0;
    richTextBox_descriptions.SelectionRightIndent = 0;
    richTextBox_descriptions.SelectionTabs = null;
    richTextBox_descriptions.RightToLeft = (checkBox_RightToLeft.Checked) ? RightToLeft.Yes : RightToLeft.No;
    richTextBox_descriptions.SelectionStart = selectionStart;
    richTextBox_descriptions.SelectionLength = selectionLength;
    }
    متشکرم دوست عزیز...اما مشکل با این دستورات حل نشد متاسفانه

    پروژه مربوطه رو ضمیمه کردم ممنون میشوم درصورت امکان تست کنید
    فایل های ضمیمه فایل های ضمیمه

  4. #4

    نقل قول: مشکل RightToLeft در ریچ تکست باکس

    نقل قول نوشته شده توسط samiasoft مشاهده تاپیک
    سلام وقت بخیر

    یک چک باکس در فرم قرار دادم که کاربر با فعال کردن و یا غیرفعال کردن ان میتواند متن داخل ریچ تکست باکس را چپ به راست یا برعکس کند با این دستور :

    private void checkBox_RightToLeft_CheckedChanged(object sender, EventArgs e)        {
    if (checkBox_RightToLeft.Checked)
    {
    richTextBox_descriptions.RightToLeft = RightToLeft.Yes;

    }
    else
    {
    richTextBox_descriptions.RightToLeft = RightToLeft.No;
    }
    }


    مشکلی که وجود داره اینه وقتی متن فارسی را راست به چپ میکنم همانطور که در تصویر میبینید در سمت راست فضای خالی ایجاد میشود!!!!!!


    به نظرتون مشکل از کجاست؟!
    خیلی وقته با ریچ تکست باکس کار نکردم، فک کنم پراپرتی ای با عنوان Alignment داره که توسطش میتونید موقعیت متن رو تنظیم کنید

  5. #5
    کاربر دائمی آواتار samiasoft
    تاریخ عضویت
    مهر 1391
    محل زندگی
    اردبیل
    پست
    1,242

    نقل قول: مشکل RightToLeft در ریچ تکست باکس

    نقل قول نوشته شده توسط mr.sirwan مشاهده تاپیک
    خیلی وقته با ریچ تکست باکس کار نکردم، فک کنم پراپرتی ای با عنوان Alignment داره که توسطش میتونید موقعیت متن رو تنظیم کنید
    ممنون بدین صورت اگر منظورتونه :
      richTextBox_descriptions.SelectAll(); 
    richTextBox_descriptions.SelectionAlignment = (checkBox_RightToLeft.Checked) ? HorizontalAlignment.Right : HorizontalAlignment.Left;

    اینو چندبار اگر اجرا کنم متن درست میشه!!!

  6. #6

    نقل قول: مشکل RightToLeft در ریچ تکست باکس

    نقل قول نوشته شده توسط samiasoft مشاهده تاپیک
    ممنون بدین صورت اگر منظورتونه :
      richTextBox_descriptions.SelectAll(); 
    richTextBox_descriptions.SelectionAlignment = (checkBox_RightToLeft.Checked) ? HorizontalAlignment.Right : HorizontalAlignment.Left;

    اینو چندبار اگر اجرا کنم متن درست میشه!!!
    چند بار؟ اگه موثر باشه منطقی است که همون بار اول کافی باشه. عجیبه.

  7. #7
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,165

    نقل قول: مشکل RightToLeft در richtextbox

    سلام

    اگر متن شامل متون انگلیسی و هم فارسی باشه چطور میشه یک خط خاص رو RTL کرد؟

    ممنون

  8. #8

    نقل قول: مشکل RightToLeft در richtextbox

    نقل قول نوشته شده توسط mmbguide مشاهده تاپیک
    سلام

    اگر متن شامل متون انگلیسی و هم فارسی باشه چطور میشه یک خط خاص رو RTL کرد؟

    ممنون
    من صرفا با روش تزریق کد های RTF میدونم :

    private void button1_Click(object sender, EventArgs e)
    {
    var line = richTextBox1.GetLineFromCharIndex(richTextBox1.Get FirstCharIndexOfCurrentLine());
    if (line == richTextBox1.Lines.Length - 1)
    {
    richTextBox1.AppendText("\r");
    }
    richTextBox1.SelectionStart = richTextBox1.GetFirstCharIndexFromLine(line);
    richTextBox1.SelectionLength = richTextBox1.GetFirstCharIndexFromLine(line + 1) - richTextBox1.SelectionStart;
    richTextBox1.SelectedRtf = richTextBox1.SelectedRtf.Replace("\\ltrpar", "\\rtlpar");
    }

تاپیک های مشابه

  1. RightToLeft بودن داده ها در SQL
    نوشته شده توسط OmMiD_MtWo در بخش T-SQL
    پاسخ: 1
    آخرین پست: سه شنبه 30 خرداد 1396, 12:08 عصر
  2. قابليت RightToLeft در richTextBox
    نوشته شده توسط unrealelec در بخش C#‎‎
    پاسخ: 2
    آخرین پست: سه شنبه 06 اسفند 1392, 23:53 عصر
  3. پاسخ: 2
    آخرین پست: دوشنبه 09 مرداد 1391, 11:54 صبح
  4. سوال: مشکل در rightToLeft لیبل
    نوشته شده توسط طبیب دل در بخش C#‎‎
    پاسخ: 2
    آخرین پست: یک شنبه 11 بهمن 1388, 14:30 عصر
  5. یک مشکل در زمینه RightToLeft
    نوشته شده توسط سعید قدیری مقدم در بخش برنامه نویسی در 6 VB
    پاسخ: 10
    آخرین پست: سه شنبه 10 خرداد 1384, 12:05 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •