تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] listbox تلوين عدد من هذه الأسماء
#4
لتلوين عناصر محددة في ListBox وفقًا لشرط معين، يمكنك استخدام حدث DrawItem لتعديل الرسم التوضيحي لكل عنصر في ListBox. كيف يمكن تحقيق ذلك في C#:

قم بتعيين DrawMode لـ OwnerDrawFixed في ListBox.
قم بتعريف حدث DrawItem للقيام برسم العناصر بشكل مخصص.
قد يبدو الكود كما يلي:

csharp
Copy code
private void listBox1_DrawItem(object sender, DrawItemEventArgs e)
{
// افحص العنصر الحالي
if (e.Index >= 0)
{
string currentItem = listBox1.Items[e.Index].ToString();

// قم بتحديد اللون وفقًا للشرط المحدد
Color itemColor = GetItemColor(currentItem);

// رسم النص باللون المحدد
using (Brush brush = new SolidBrush(itemColor))
{
e.Graphics.DrawString(currentItem, e.Font, brush, e.Bounds, StringFormat.GenericDefault);
}
}
}

// تحديد لون كل عنصر بناءً على شرط معين
private Color GetItemColor(string itemName)
{
// ضع هنا الشروط والألوان المطلوبة
if (itemName.Equals("samir", StringComparison.OrdinalIgnoreCase))
{
return Color.Green;
}
else if (itemName.Equals("monir", StringComparison.OrdinalIgnoreCase))
{
return Color.Red;
}
// إذا لم يتوافق الشرط مع أي قاعدة، فقم بتحديد لون افتراضي
return SystemColors.WindowText;
}
تأكد من ربط حدث DrawItem مع الدالة listBox1_DrawItem:

csharp
Copy code
private void Form1_Load(object sender, EventArgs e)
{
// ربط حدث DrawItem مع الدالة listBox1_DrawItem
listBox1.DrawMode = DrawMode.OwnerDrawFixed;
listBox1.DrawItem += new DrawItemEventHandler(listBox1_DrawItem);

// إضافة بعض الأسماء لـ ListBox للتجربة
listBox1.Items.Add("samir");
listBox1.Items.Add("monir");
listBox1.Items.Add("john");
listBox1.Items.Add("doe");
}
يمكنك تخصيص الشرط والألوان وفقًا لاحتياجاتك الخاصة.
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
RE: listbox تلوين عدد من هذه الأسماء - بواسطة sniper2030 - 18-11-23, 01:35 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كيف يتم عرض جدول من قائمة listbox في داتاقريدفيو ahmedfa71 5 882 04-09-25, 02:59 PM
آخر رد: ahmedfa71
  [VB.NET] كيف أجعل الأداة Listbox تعرض عمودين بدل عمود واحد mmaalmesry 6 489 15-10-24, 11:05 AM
آخر رد: Taha Okla
  [VB.NET] تجاهل التشكيل من الأسماء عند البحث في التيكست بوكس Khalil chiha 3 535 01-08-24, 10:28 PM
آخر رد: Khalil chiha
  رسالة و تلوين خلية الداتاجريد العيدروس 8 746 17-05-24, 10:12 PM
آخر رد: justforit
  تلوين الخلايا بالداتاجريد حسب الأرقام R G B محمد خيري 4 493 09-05-24, 01:11 AM
آخر رد: أبو خالد الشكري
Information [VB.NET] حذف كل العناصر التي تاتي بعد عنصر الذي احدده listbox mervandz 3 649 10-11-23, 07:12 PM
آخر رد: justforit
Information [كود] تلوين نص في جدول البيانات محمد مسافر 3 710 16-08-23, 09:59 PM
آخر رد: محمد مسافر
  هل ممكن اجعل عناصر ال LISTBOX بشكل افقي ismaeel 0 623 01-05-23, 11:26 PM
آخر رد: ismaeel
  كيفية الربط بين textbox و listbox timgad 2 3,992 27-03-23, 01:59 PM
آخر رد: sanyor77
  [C#.NET] تعديل سجل في listbox ali_ahmed12 2 726 13-11-22, 04:00 PM
آخر رد: ali_ahmed12

التنقل السريع :


يقوم بقرائة الموضوع: