PDA

View Full Version : قابليت RightToLeft در richTextBox



unrealelec
دوشنبه 05 اسفند 1392, 09:08 صبح
با سلام خدمت دوستان
وقتي از اين دستور (richTextBox1.RightToLeft = RightToLeft.Yes) استفاده مي كنم جهت درج كاراكتر از راست به چپ هست بعد وقتي مي خوام در سطر بعدي جهت درج فرق كنه از دستور(richTextBox1.RightToLeft = RightToLeft.No) استفاده مي كنم ولي اتفاقي كه مي افته برنامه مي ياد و كل سطرها رو تبديل به چپ به راست مي كنه در صورتي كه مي خوام سطر اول راست به چپ باشه آيا راهي وجود داره كه اين خاصيت بجاي اينكه براي كل richbox باشه براي سطرهاي دلخواه باشه؟
ببخشيد كه طولاني شد فقط يه توضيح هم بدم سعي كردم كه با دستور (richTextBox1.SelectionAlignment = HorizontalAlignment.Left) حلش كنم كه با اين دستور فقط اشاره گر به سمت چپ ميره ولي درج همون حالت راست به چپ باقي مي مونه

unrealelec
سه شنبه 06 اسفند 1392, 12:49 عصر
با سلام مجدد
شايد نتونستم منظورم رو درست برسونم در حقيقت مي خوام دو تا فايل تكست كه يكي فارسي و دومي انگليسي هست رو توي يك richtextbox بريزم براي اينكار از كد زير استفاده كردم

richTextBox1.LoadFile(Application.StartupPath + "\\database\\english.txt");
string a = richTextBox1.Text;
richTextBox1.AppendText(System.Environment.NewLine );
richTextBox1.LoadFile(Application.StartupPath + "\\database\\persian.txt");
richTextBox1.AppendText(a);
richTextBox1.AppendText(System.Environment.NewLine );
richTextBox1.Focus();
ولي هنگام نمايش بجاي اينكه فارسي ها راست به چپ و انگليسي ها چپ به راست باشن تمام متن راست به چپ نمايش داده ميشه
دوستان راه حلي دارن يا اصلااين كار ممكن هست

unrealelec
سه شنبه 06 اسفند 1392, 23:53 عصر
مشكل رو حل كردم كدها رو اينجا مي زارم تا دوستان هم استفاده كنن



richTextBox1.LoadFile(Application.StartupPath + "\\database\\english.txt");
string a=richTextBox1.Text;
richTextBox1.LoadFile(Application.StartupPath + "\\database\\persian.txt");
string b=richTextBox1.Rtf;
string rtfsource=@"{\rtf1\fbidis\ansi\ansicpg1256\deff0\deflang1065{\ fonttbl{\f0\fnil\fcharset0 Microsoft Sans Serif;}}";
rtfsource = rtfsource + "\\ltrpar "+a;
rtfsource = rtfsource + "\\par\\rtlpar "+b +"\\par";
rtfsource = rtfsource + "}";
richTextBox1.Rtf= rtfsource;