الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما الفصيلة المقابلة في تطبيق الويندوز لهذه الفصيلة Listitem ؟

بدأه الطائر التركي في 7 أغسطس 2008 · 13 رد · 1,436 مشاهدة · في قسم تكنولوجيا Microsoft .NET العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

هل يوجد فصيلة CLASS مثل System.Web.UI.WebControls.ListItem توجد في System.Windows.Forms؟

شكرا

#2

ياريت ياشباب لو الموضوح مش واضح قوله عشان اوضح اكتر

شكرا

#3

نعم مش واضح خالص

ولدي إليك وصيتي عهد الأسودْ

العز غايتنا نعيش لكي نسود

و عريننا في الأرض معروف الحدود

فاحم العرين و صنه عن عبث القرود

أظفارنا للمجد قد خُلقت فدى

و نيوبنا سُنَّت بأجساد العدى

و زئيرنا في الأرض مرهوب الصدى

نعلي على جثث الأعادي السؤددا

#4

في class بالاسم ده ListItem موجوده في namespace بالاسم ده WebControls يعني تابع لتطبيقات الويب

اللي عاوزه فصلية بنفس الامكانيات تكون موجوده في namespace بالاسم ده Forms يعني عشان هستخدمه في تطبيق ويندوز

وعلي فكرة انا استخدم الفصلية ListItem في تطبيق الويندوز وعملت منها مصفوفة وضفتهم في comboBox وانضافه بس الغريب انهم مظهروش

اتمني يكون الموضوع وضح شوية وياريت لو عاوزين وضح اكتر قوله

تم تعديل هذه المشاركة بواسطة الطائر التركي في 8 أغسطس 2008 في 17:41

شكرا

#5

طيب ممكن الكود

ولدي إليك وصيتي عهد الأسودْ

العز غايتنا نعيش لكي نسود

و عريننا في الأرض معروف الحدود

فاحم العرين و صنه عن عبث القرود

أظفارنا للمجد قد خُلقت فدى

و نيوبنا سُنَّت بأجساد العدى

و زئيرنا في الأرض مرهوب الصدى

نعلي على جثث الأعادي السؤددا

#6
	public ComboBox ListNames(string sqlStat)
	{
		ComboBox r = null;
		using (SqlConnection conListNames = new SqlConnection(connectionString))
		{
			using (SqlCommand comListNames = new SqlCommand(sqlStat, conListNames))
			{
				conListNames.Open();
				SqlDataReader drListNames = comListNames.ExecuteReader(CommandBehavior.SingleResult);
					while (drListNames.Read())
					{
						System.Web.UI.WebControls.ListItem item = new System.Web.UI.WebControls.ListItem();
						item.Text = reader.GetString(1);
						item.Value = reader.GetInt32(0).ToString();
						r.Items.Add(item);
					}
			}
		}

		return r;
	}

شكرا

#7

لو عايز تعرف ال items اللي في ال ComboBox نوعها ايه

اكتب Combobox.Items و شوف items عبارة عن Collection من اي نوع

علي العموم لا تستخدم الكنترول او الكلاسات الخاصة بالويب في Windows App

بطريقة مباشرة لانها في الاصل تتحول الي HTML Code باستخدام ما يسمي - Rendering

#8

طيب ممكن تقلي ايه هي CLASS اللي في Win. App اللي بتعمل نفس الدور

شكرا

#9

ال items الموجوده في ال combobox عبارة عن Object Collection

يعني ممكن تستخدم اي object قابل للعرض بحيث تحدد اي خاصية فيه للعرض DisplayMember و اخري للقيمة ValueMember

و ممكن تضيف نص بس

comboBox1.Items.Add(textBox1.Text);

و افضل لو انك تعمل كلاس خاص يحتوي علي خاصية للعرض و اخري للقيمة

	public class AddValue
	{
		private string m_Display;
		private long m_Value;
		public AddValue(string Display, long Value)
		{
			m_Display = Display;
			m_Value = Value;
		}
		public string Display
		{
			get{return m_Display;}
		}
		public long Value
		{
			get{return m_Value;}
		}
	}

و ممكن تجرب طريقتك الاولي باستخدام ListItem و قم بتحديد ال DisplayMember و ValueMember

#10

متشكر جدا علي ردك

وياريت لو تساعدني في اعطاء امثله عن الادوات اللي كنت تقصده بسطر ده،

اقتباس
يعني ممكن تستخدم اي Object قابل للعرض بحيث تحدد اي خاصية فيه للعرض DisplayMember و اخري للقيمة ValueMember

انتظرك

وبالنسبة للحل التاني فعلا هو كان احد الافكار المطروحة في المنتدي بس كنت اتنمي حل افضل --اسهل-- كما موجوده في ListItem

شكرا

#11

من الواضح لا يوجد من يعرف حل اسرع --اسهل-- :( من اني اعمل صنْف خاص بي كما اقتراحة

بس اسمحلي ببعض الملاحظات

1- انا لو استخدمت الصنْف علي كده هيظهر اسم الكائن بدل القيمة اللي عاوز اظهره من خاصية Display علي اعتبار اللي بيظهر هو العائد من الوسيلة ToStringعشان كده لابد من اعادة كتابتها override كالاتي

	public override string ToString()
	{
		return m_Display;
	}

2- عشان اقدر اوصل للخاصية Value ممكن احول الـعنصر Item بتاع combBox لكائن من الصنْف الخاص وبعد كده اوصلها

وممكن استهبل :lol: برده واعمل اعادة كتابتها override كالاتي

	public override int GetHashCode()
	{
		return int.Parse(m_Value);
	}

علي العموم ده بعض الملاحظات وياريت ياشباب لو في صنْف جاهز في .NET يكون افضل

شكراً لكل اللي سعدوني

تم تعديل هذه المشاركة بواسطة الطائر التركي في 11 أغسطس 2008 في 20:06

شكرا

#12

السلام عليكم ورحمة الله

بامكانك استخدام نفس الفئة في الويب وفي التطبيق العادي ولا مشكلة في ذلك فهي في النهاية فئة تابعة للفريموورك

#13

فعلا كلام حضرتك صحيح وبلفعل استخدمتها بس

عشان احصل القيمة value نفس الطريقة الطويل يعني مش بعرف اوصلها عن طريق الـcombBox بطريقها مباشرة

ياريت لو حضرتك تقلي ازاي اوصل للـقيمة Value مباشرتاً من الـcomboBox

شكراً علي التعاون

شكرا

#14

بامكانك استخدام الخاصية SelectedValue للحصول على القيمة المقابلة للنص

مثل

msgbox ComboBox1.SelectedValue

او وضع القيمة

ComboBox1.SelectedValue = 5

ارجو ان يكون هذا هو المطلوب

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…