PDA

View Full Version : high light



zizisol
جمعه 03 آذر 1385, 14:05 عصر
با سلام
در فرم Windows Applicationیک Rich Text Box دارم که میخواهم کلمات(و یا حروف) مشخصی از آن را به صورت رنگی و high light شده نمایش بدهم. لطفا راهنمایی کنید که از چه متدی استفاده کنم.

Amir Oveisi
یک شنبه 05 آذر 1385, 11:53 صبح
باید با property یه RTF کار کنی

zizisol
یک شنبه 05 آذر 1385, 21:10 عصر
میشه بیشتر توضیح بدی. نمیدونم RTF چیه.

Amir Oveisi
دوشنبه 06 آذر 1385, 14:07 عصر
یه چیزی شبیه tag های html
مثلا وقتی توی یه richtextbox یه متنی رو مینویسی اینکه چجوری مشخص بشه که این متن چه ویژگیهایی داره توسط یه سری از tag هایی نگهداشته میشه یعنی در واقع اون چیزی که richtrextbox ایجاد میکنه متن تایپ شده + یه سری اطلاعات در مورد format اون متن که به این میگن RTF
RTF یه property برای richtextbox هستش و میتونی ببینی که متن تایپ شده توی richtextbox چه RTF ای داره : richtexybox1.RTF
حالا خودت میتونی RTF رو تغییر بدی که این تغییرات تو متن اعمال میشه
موفق باشید

PC2st
دوشنبه 06 آذر 1385, 18:04 عصر
منظور از RTF همان Rich Text File هست،
Rich Text Box یک جعبه متنی است که اگه بخوای بعدا میتونی توی یک فایل RTF ذخیره‌اش کنید.:متفکر:

1. اگر بخوای اون کلمات رو به حالت انتخاب شده در بیاری، (((در واقع فقط انتخاب شده و رنگ آن هیچ تغییری نکرده است))) باید بصورت زیر عمل کنی:

rtbMyText.SelectionStart = 1;
rtbMyText.SelectionLength = 6;
که در کدهای فوق، rtbMyText نام کنترلی است که می‌خواهید کلمه یا حروف مورد نظر رو به حالت انتخاب شده یا Highlight در آورید و باعث می‌شود که از حرف دوم تا 6 حرف بعد از آن بصورت انتخاب شده قرار بگیرند و درواقع کاربر میتواند آنرا از حالت انتخاب شده خارج سازد.:لبخندساده:

2. اگر بخوای که فرمت کلمه یا حروف مورد نظر رو تغییر بدی و رنگ پشتش رو آبی و رنگ خود متن رو سفید کنی، تا شبیه به متن Highlight شده ظاهر بشه (((در واقع انتخاب نشده و رنگ متن تغییر یافته است))):

rtbMyText.SelectionStart = 1;
rtbMyText.SelectionLength = 6;
rtbMyText.SelectionColor = Color.White;
rtbMyText.SelectionBackColor = Color.Blue;
و در کدهای فوق، ابتدا حرف دوم تا 6 حرف بعد از آن را انتخاب کرده سپس رنگ زمینه آنرا آبی و رنگ خود فونت را سفید کرده تا ظاهر آن شبیه Highlight شده قرار گیرد و این درحالیست که این حروف یا کلمات انتخاب نشده اند بلکه شما آنرا تغییر رنگ داده‌اید.

فکر کنم بدجوری توضیح دادم، اگه خواستی بهتر توضیح بدم.:لبخند:

zizisol
چهارشنبه 08 آذر 1385, 14:27 عصر
ممنونم.ولی rtbMyText.SelectionBackColor رو نمی شناسه. البته فکر میکنم با این روش فقط یکبار بشه حرفی رو انتخاب کرد. یعنی مثلا نمیشه تمام حروف "ب" در یک متن رو پیدا کرد. ولی روش خوبیه.اگه راه دیگه ای پیدا نکردم، یه متد باهاش می سازم.
از RTF هم هنوز نتونستم استفاده کنم. اگه یه مثال برام بزنید خیلی ممنون میشم.