![]() |
|
[VB.NET] listbox تلوين عدد من هذه الأسماء - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [VB.NET] listbox تلوين عدد من هذه الأسماء (/showthread.php?tid=47475) |
listbox تلوين عدد من هذه الأسماء - mervandz - 12-11-23 السلام عليكم ورحمة الله وبركاته لدي ListBox وفيها مجموعة من الأسماء ، كيف يمكن تلوين عدد من هذه الأسماء بحيث يتوافق مع شرط معين ، بمعنى لو كان الأسم samir يكون لون الأسم أخضر ولو كان الأسم monir يكون لون الأسم الاحمر وهكذا... شكراً مقدماً RE: listbox تلوين عدد من هذه الأسماء - aljzazy - 12-11-23 كود : Imports System.Windows.FormsRE: listbox تلوين عدد من هذه الأسماء - mervandz - 14-11-23 الف شكر لك aljzazy RE: listbox تلوين عدد من هذه الأسماء - sniper2030 - 18-11-23 لتلوين عناصر محددة في 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"); } يمكنك تخصيص الشرط والألوان وفقًا لاحتياجاتك الخاصة. |