ايران ويج

نسخه‌ی کامل: رنگی کردن کلمات
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام
اگه کسی وجود داره در این انجمن جواب بده؟؟؟؟
چه طوری می تونیم در جملات موجود در یک متن کلماتی را در جملات رنگی کنیم یا به عبارتی highlightکنیم؟!؟!

با یه همچین چیزی:
کد:
RichTextBox1.Select(3, 4)
        RichTextBox1.SelectionBackColor = Color.Blue
اگه براتون مهمه که جای پوینتر تغییر نکنه باید یه همچین کاری بکنید:
کد:
int ppos = RichTextBox1.SelectionStart
        RichTextBox1.Select(3, 4)
        RichTextBox1.SelectionBackColor = Color.Blue
        RichTextBox1.SelectionStart = ppos
(۲۱-دى-۱۳۹۰, ۱۶:۱۷:۳۹)ajlajlajl نوشته است: [ -> ]با یه همچین چیزی:
کد:
RichTextBox1.Select(3, 4)
RichTextBox1.SelectionBackColor = Color.Blue
اگه براتون مهمه که جای پوینتر تغییر نکنه باید یه همچین کاری بکنید:
کد:
int ppos = RichTextBox1.SelectionStart
RichTextBox1.Select(3, 4)
RichTextBox1.SelectionBackColor = Color.Blue
RichTextBox1.SelectionStart = ppos





سلام
ببینید من یه هم چین کدی نوشتم gمنظورم همون کلماتی که می خوام رنگی بشه اما این کار را نمی کنه؟؟
private void button3_Click(object sender, EventArgs e)
{

string[] txt1 = richTextBox1.Text.Split('.');
string[] sefat = richTextBox3.Text.Split(',');


foreach (string text1 in txt1)

{
foreach (string sub in sefat)
{

string b = " " + sub + " ";

if (text1.IndexOf(b) != -1)
{


int start = text1.IndexOf(sub);
//int size = sub.Length;
string g = text1.Substring(start, sub.Length);
MessageBox.Show(g);




// richTextBox2.Select(start,sub.Length);
//richTextBox2.SelectionColor = Color.Red;







//MessageBox.Show(start.ToString());

//MessageBox.Show(start.ToString());


//MessageBox.Show(text1);

//break;

}
}


}
}

(۲۱-دى-۱۳۹۰, ۱۷:۱۲:۵۹)stringf نوشته است: [ -> ][quote='ajlajlajl' pid='163520' dateline='1326282459']
با یه همچین چیزی:
کد:
RichTextBox1.Select(3, 4)
RichTextBox1.SelectionBackColor = Color.Blue
اگه براتون مهمه که جای پوینتر تغییر نکنه باید یه همچین کاری بکنید:
کد:
int ppos = RichTextBox1.SelectionStart
RichTextBox1.Select(3, 4)
RichTextBox1.SelectionBackColor = Color.Blue
RichTextBox1.SelectionStart = ppos





سلام
ببینید من یه هم چین کدی نوشتم gمنظورم همون کلماتی که می خوام رنگی بشه اما این کار را نمی کنه؟؟
private void button3_Click(object sender, EventArgs e)
{

string[] txt1 = richTextBox1.Text.Split('.');
string[] sefat = richTextBox3.Text.Split(',');


foreach (string text1 in txt1)

{
foreach (string sub in sefat)
{

string b = " " + sub + " ";

if (text1.IndexOf(b) != -1)
{


int start = text1.IndexOf(sub);
//int size = sub.Length;
string g = text1.Substring(start, sub.Length);
MessageBox.Show(g);




// richTextBox2.Select(start,sub.Length);
//richTextBox2.SelectionColor = Color.Red;







//MessageBox.Show(start.ToString());

//MessageBox.Show(start.ToString());


//MessageBox.Show(text1);

//break;

}
}


}
}
دوباره سلام
حالا کدم را درستش کردم ببینید
private void button3_Click(object sender, EventArgs e)
{

string txt1 = richTextBox2.Text;
string[] sefat = richTextBox3.Text.Split(',');



foreach (string sub in sefat)
{

string b = " " + sub + " ";

if (txt1.IndexOf(b) != -1)
{


int start = txt1.IndexOf(sub);
int size = sub.Length;
//string g = text1.Substring(start, sub.Length);
//MessageBox.Show(g);


richTextBox2.Select(start, sub.Length);
richTextBox2.SelectionBackColor = Color.Pink;

//break;

}
}


}
اما اگه کلمه ای را در یک جمله یک بار رنگی کرده باشه در جملات بعد اگه همون کلمه مجددا باشه دیگه رنگی نمی کنه در صورتی که من می خوام رنگی بشه؟چه کنم؟؟؟
ممنون
اگه حدسی که بر اساس کد هاتون زدم درست باشه که متن richTextBox1 و richTextBox2 یکی هست.
مشکل اینه که شما متنو چند تیکه کردید. بنابراین مقدار start از اول هر تیکه یا همون جمله شروع میشه نه از اول متن. شما باید start رو + محل شروع جمله کنید تا محل کلمه تو کل متن در بیاد
(۲۱-دى-۱۳۹۰, ۱۷:۳۰:۴۷)ajlajlajl نوشته است: [ -> ]اگه حدسی که بر اساس کد هاتون زدم درست باشه که متن richTextBox1 و richTextBox2 یکی هست.
مشکل اینه که شما متنو چند تیکه کردید. بنابراین مقدار start از اول هر تیکه یا همون جمله شروع میشه نه از اول متن. شما باید start رو + محل شروع جمله کنید تا محل کلمه تو کل متن در بیاد

richtextbox1 کل جملات را داره وrichtextbox3صفات که با کاما از هم جدا شدند را داره وrichtextbox2باید در مقع اجرا جملاتی ازrichtextbox1را بده که صفات را داره اینا را کدهاش رو نوشتم اما این که حالا باید همه ی صفات را رنگی کنه را نمی دونم چرا اگه یه بار یه صفتی رو ببینه و رنگی کنه بار دوم اگه در جمله ی دیگر ببینه رنگی نمی کنه؟؟؟؟