PDA

View Full Version : ListBox‌ خاص با آیتمهایی که دارای متنی با رنگهای متفاوت می باشد



zahra_no
پنج شنبه 11 اسفند 1390, 21:08 عصر
سلام
درListbox میخواستم قسمتی از متن را یک رنگ و قسمتی یه رنگ دیگه باشه و البته کلمه موردنظر رو دارم مثلا در جمله زیر "مشخص" را بتونم رنگی نشان بدهد

آرايه‌اي که از تعداد مشخصي رشته برميگرداند

shadi khanum
پنج شنبه 11 اسفند 1390, 23:34 عصر
فک نکنم خود listbox ویژوال استودیو این قابلیت رو داشه باشه . میتونی با WPF بسازیش و تو پروژت استفاده کنی

gwbasic
پنج شنبه 11 اسفند 1390, 23:51 عصر
باید یک کنترل جدیدی (مثلا ColoredListBox) بنویسید که از ListBox ارث برده و متد OnDrawItem‌رو برحسب نیازتون دوباره بنویسید.
توضیح اینکه رویداد DrawItem هر زمان که آیتمی در ListBox نمایش داده می شود اتفاق می افتد و شما با استفاده از متد بالا می تونید تغییرات خودتون رو اعمال کنید.
اما جدا از این بحث فنی منطق تغییر رنگ برخی کلمات هست که جای سوال داره که بر چه اساسی این کار را می خواین انجام بدین

zahra_no
جمعه 12 اسفند 1390, 01:14 صبح
من اصلا متوجه منظورتون نشدم :خجالت:

gwbasic
جمعه 12 اسفند 1390, 01:20 صبح
عرضم این لود که هر چیزی رو که بخواین داخل هر آیتم ListBox‌نمایش بدین رو می تونین توی OnDrawItem‌بنویسید

zahra_no
جمعه 12 اسفند 1390, 01:52 صبح
دوست عزیز من متوجه شدم ولی ربط ColoredListBox با listbox رو متوجه نشدم و نمیدونم چطوری باید این کارو بکنم :افسرده:

gwbasic
جمعه 12 اسفند 1390, 03:22 صبح
public class ColoredListbox : System.Windows.Forms.ListBox
{
protected override void OnDrawItem(EventArgs e)
{
// To Do
base.OnDrawItem(e);
}
}