PDA

View Full Version : چشمک نزدن متن در هنگام تعویض رنگ در ریچ تکست باکس



amir-haghighi
شنبه 21 شهریور 1388, 11:25 صبح
با سلام به همه کاربران محترم ...

من میخوام بدونم که برنامه ویژوال استودیو و سایر برنامه های ادیتور متن چطوری میان و یک متن رو رنگی میکنن بدون اینکه متن چشمک بزنه ؟

من هم در رویداد text_changed و هم در رویداد keyup هم از روش rtf و هم از روش selectioncolor و انتخاب بخشی از متن استفاده کردم اما در هر دو راه متن چشمک میزنه !

چطور میتونم رنگ متن رو عوض کنم بدون اینکه متن چشمک بزنه ؟

amir-haghighi
یک شنبه 22 شهریور 1388, 12:07 عصر
با سلام . مشکل من اینه که نمیدونم باید تو زمان textchanged عمل کنم یا در رویداد keyup و یا ...

در واقع من یک راهنمایی برای انجام کار میخوام . این که چه زمانی باید دست به انجام این کار بزنم .

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

Reza_Yarahmadi
یک شنبه 22 شهریور 1388, 14:40 عصر
نمیدونم شما چطور عمل کردید ، من کد زیر رو واسه امتحان نوشتم و مشکلی نداشت!! میشه کدی رو که نوشتید بذارید؟
ArrayList LastFind=new ArrayList();
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
if (LastFind.Count == 0)
LastFind.Add(0);
if (richTextBox1.TextLength >= Convert.ToInt32(LastFind[LastFind.Count-1]))
{
int n = richTextBox1.Text.IndexOf("Reza", Convert.ToInt32(LastFind[LastFind.Count-1]));
if (n != -1)
{
richTextBox1.Select(n, 4);
richTextBox1.SelectionColor = Color.Red;
richTextBox1.Select(richTextBox1.TextLength, 0);
richTextBox1.SelectionColor = Color.Black;
LastFind.Add(n + 4);
}
}
else
{
richTextBox1.Select(Convert.ToInt32(LastFind[LastFind.Count - 1]) - 4, 3);
richTextBox1.SelectionColor = Color.Black;
richTextBox1.Select(richTextBox1.Text.Length, 0);
LastFind.RemoveAt(LastFind.Count - 1);
}
}

amir-haghighi
دوشنبه 30 شهریور 1388, 12:36 عصر
سلام .

خوب شما یه متن وقتی بهش بدی حدود 50 خط و تو هر خطش وقتی 10 بار اون کلمه مورد نظر اومده باشه ، اون وقته که دیگه این روش اصلا روش خوبی نمیتونه باشه !

Reza_Yarahmadi
دوشنبه 30 شهریور 1388, 19:49 عصر
دقیقا نمیدونم منظورتون چیه!
این نمونه برنامه ساده (که فقط همون کد توشه) رو نگاه کنید روی سیستم من که بدون مشکل انجام میشه!! :متفکر:
البته این کد فقط برای اضافه و کم کردن به آخر متن کاربرد داره ولی میشه با یه سری تغییرات کاری کرد که در همه حالات هم کار کنه.
اگه بیشتر توضیح بدید بهتر میشه کمک کرد.

amir-haghighi
چهارشنبه 08 مهر 1388, 13:05 عصر
خوب شما فرض کن برنامه میخواد کلمه function رو رنگ آبی بهش بده . حالا داخل نوت پد 50 بار با فاصله تایپ کن function و اون متن رو بده به برنامه . حالا ببین چی میشه اون وقت متوجه میشی من چی میگم :لبخند: