امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
رنگی کردن کلمات
نویسنده پیام
stringf آفلاین
كاربر دو ستاره
**

ارسال‌ها: 110
موضوع‌ها: 45
تاریخ عضویت: آذر ۱۳۹۰

تشکرها : 32
( 2 تشکر در 2 ارسال )
ارسال: #1
رنگی کردن کلمات
سلام
اگه کسی وجود داره در این انجمن جواب بده؟؟؟؟
چه طوری می تونیم در جملات موجود در یک متن کلماتی را در جملات رنگی کنیم یا به عبارتی highlightکنیم؟!؟!

۲۱-دى-۱۳۹۰, ۱۲:۱۱:۴۷
ارسال‌ها
پاسخ
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #2
RE: رنگی کردن کلمات
با یه همچین چیزی:
کد:
RichTextBox1.Select(3, 4)
        RichTextBox1.SelectionBackColor = Color.Blue
اگه براتون مهمه که جای پوینتر تغییر نکنه باید یه همچین کاری بکنید:
کد:
int ppos = RichTextBox1.SelectionStart
        RichTextBox1.Select(3, 4)
        RichTextBox1.SelectionBackColor = Color.Blue
        RichTextBox1.SelectionStart = ppos

میزان رای دشمن است!
[تصویر:  cff100.png]
۲۱-دى-۱۳۹۰, ۱۶:۱۷:۳۹
وب سایت ارسال‌ها
پاسخ
stringf آفلاین
كاربر دو ستاره
**

ارسال‌ها: 110
موضوع‌ها: 45
تاریخ عضویت: آذر ۱۳۹۰

تشکرها : 32
( 2 تشکر در 2 ارسال )
ارسال: #3
RE: رنگی کردن کلمات
(۲۱-دى-۱۳۹۰, ۱۶:۱۷:۳۹)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;

}
}


}
اما اگه کلمه ای را در یک جمله یک بار رنگی کرده باشه در جملات بعد اگه همون کلمه مجددا باشه دیگه رنگی نمی کنه در صورتی که من می خوام رنگی بشه؟چه کنم؟؟؟
ممنون
(آخرین ویرایش در این ارسال: ۲۱-دى-۱۳۹۰, ۱۷:۲۶:۱۲، توسط stringf.)
۲۱-دى-۱۳۹۰, ۱۷:۱۲:۵۹
ارسال‌ها
پاسخ
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #4
RE: رنگی کردن کلمات
اگه حدسی که بر اساس کد هاتون زدم درست باشه که متن richTextBox1 و richTextBox2 یکی هست.
مشکل اینه که شما متنو چند تیکه کردید. بنابراین مقدار start از اول هر تیکه یا همون جمله شروع میشه نه از اول متن. شما باید start رو + محل شروع جمله کنید تا محل کلمه تو کل متن در بیاد

میزان رای دشمن است!
[تصویر:  cff100.png]
۲۱-دى-۱۳۹۰, ۱۷:۳۰:۴۷
وب سایت ارسال‌ها
پاسخ
stringf آفلاین
كاربر دو ستاره
**

ارسال‌ها: 110
موضوع‌ها: 45
تاریخ عضویت: آذر ۱۳۹۰

تشکرها : 32
( 2 تشکر در 2 ارسال )
ارسال: #5
RE: رنگی کردن کلمات
(۲۱-دى-۱۳۹۰, ۱۷:۳۰:۴۷)ajlajlajl نوشته است: اگه حدسی که بر اساس کد هاتون زدم درست باشه که متن richTextBox1 و richTextBox2 یکی هست.
مشکل اینه که شما متنو چند تیکه کردید. بنابراین مقدار start از اول هر تیکه یا همون جمله شروع میشه نه از اول متن. شما باید start رو + محل شروع جمله کنید تا محل کلمه تو کل متن در بیاد

richtextbox1 کل جملات را داره وrichtextbox3صفات که با کاما از هم جدا شدند را داره وrichtextbox2باید در مقع اجرا جملاتی ازrichtextbox1را بده که صفات را داره اینا را کدهاش رو نوشتم اما این که حالا باید همه ی صفات را رنگی کنه را نمی دونم چرا اگه یه بار یه صفتی رو ببینه و رنگی کنه بار دوم اگه در جمله ی دیگر ببینه رنگی نمی کنه؟؟؟؟
۲۱-دى-۱۳۹۰, ۲۱:۰۴:۰۷
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  رنگی کردن يك درميان سطرهاي دیتاگرید ویو iran58 4 9,846 ۱۸-آبان-۱۳۹۲, ۰۹:۵۵:۲۰
آخرین ارسال: lord_viper
  رنگی کردن سطر خاصی از دیتاگرید ویو iran58 4 7,637 ۰۵-آذر-۱۳۹۰, ۱۲:۵۸:۵۰
آخرین ارسال: sadra1234
  شمارش کلمات آفیس x7337x 3 3,829 ۲۶-اسفند-۱۳۸۹, ۲۳:۰۲:۱۸
آخرین ارسال: Ghoghnus
  رنگی کردن سطر خاصی از دیتاگرید ویو iran58 1 6,887 ۲۸-اردیبهشت-۱۳۸۹, ۱۳:۱۸:۱۰
آخرین ارسال: HoseinVig

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 3 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS