PDA

View Full Version : سوال: چطوری سطری خاص از ComboBox را رنگی کنم؟



aliramazani
سه شنبه 15 مرداد 1392, 19:27 عصر
کمبو باکس من یک سری اطلاعات از دیتابیس میخونه. چطوری میتنوم سطرهایی که دارای فلان ویژگی باشن را رنگی کنم؟

Mahmoud.Afrad
سه شنبه 15 مرداد 1392, 19:59 عصر
private void comboBox1_DrawItem(object sender, DrawItemEventArgs e)
{
ComboBox cbo = sender as ComboBox;
string str = Convert.ToString(cbo.Items[e.Index]);
Point loc = new Point
{
X = e.Bounds.Location.X,
Y = e.Bounds.Location.Y + Convert.ToInt32((e.Bounds.Height - e.Graphics.MeasureString(str, cbo.Font).Height)/2)
};
Brush foreBrush = Brushes.Black;
Brush backBrush = null;

if (شرط)
{
backBrush = Brushes.Red;
}
else
{
backBrush = Brushes.White;
}
e.Graphics.FillRectangle(backBrush, e.Bounds);
e.Graphics.DrawString(str, cbo.Font, foreBrush, loc);
}

aliramazani
سه شنبه 15 مرداد 1392, 22:28 عصر
به e.Index و e.Bounds و e.Graphics ایراد میگیره.

alias136790
سه شنبه 15 مرداد 1392, 23:14 عصر
فک کنم تو بالای کدتون از NameSpace زیر استفاده کنین:
using System.Drawing.Drawing2D;