PDA

View Full Version : سوال: override کردن ویژگی bcakgroundcolor در richtextbox



soalpors
یک شنبه 21 خرداد 1391, 19:09 عصر
سلام. من میخوام قسمتی از یک richtextbox رو رنگ کنم. مثلا یک متن که دارای چند پاراگراف است داریم که میخواهم وقتی نشانگر تایپ کلمه در richtextbox بر روی کلمه ای قرار گرفت دور کل پاراگرافی که آن کلمه درون آن است مستطیلی که به صورت رنگ پس زمینه به نظر می رسد ایجاد شود. مثل نرم افزارهای نور که وقتی نتایج جستجو مشاهده می شود با کنترلی شبیه richtextbox مواجه می شویم که متن قابل انتخاب است و نشانگر تایپ را که با کلیدهای جهت دار کیبرد حرکت می دهیم و وارد هر پاراگراف می شویم کادر مستطیلی کل پاراگراف را انتخاب شده نشان می دهد چیزی مثل datagridview که سطر دارد ولی با این تفاوت که در datagridview نمی توان یک متن را مثل richtextbox انتخاب کرد. یعنی مثلا نمی توان مثل richtextbox قمستی از یک پاراگراف و قسمت دیگر یک پاراگراف دیگر را انتخاب کرد.
برای این منظور به نظرم رسید جواب سوالم در ویژگی backcolor کنترل richtextbox است که لابد این ویژگی محدوده کنترل را در می آورد و همه آن را رنگ می کند. حالا من میخواهم قسمتی از آن که محدوده پاراگراف است رنگ کنم. من الان می توانم محدوده مستطیل یک پاراگراف را به دست آورم.

Hajivandian
یک شنبه 21 خرداد 1391, 20:55 عصر
سلام،
برای این کار میتونی از خصوصیت SelectionBackColor استفاده کنی.
مثال:

richTextBox1.SelectionBackColor = Color.Yellow;

soalpors
دوشنبه 22 خرداد 1391, 14:41 عصر
فکر می کنم متوجه سوال من نشدید. من تقریبا richtextbox رو زیر و رو کردم و این ویژگی رو میدونم چیه. اما این ویژگی پس زمینه متن رو رنگی میکنه گرچه همین هم ایراداتی دارد که بماند. اما من منظورم اینه که میخوام دقیقا یک پاراگراف درون یک مستطیل رنگی باشه طوری که به نظر برسه کل پاراگراف انتخاب شده مثل حالت انتخاب شده یک سطر در datagridview که اگر در آن سطر پاراگرافی باشد مستطیلی رنگی می شود که رنگ پس زمینه آن سطر است.

soalpors
دوشنبه 22 خرداد 1391, 14:52 عصر
اصلا سوالم رو اینطوری می پرسم. من چطور می تونم برای Richtextbox ویژگی backgroundimage رو override کنم؟ فرض کنید می خوام محدوده خاصی از Richtextextbox یک مربعی عکس که رنگ خاصی داره بگذارم بدون این که روی متن بیاد.