السلام عليكم
هل يوجد فصيلة CLASS مثل System.Web.UI.WebControls.ListItem توجد في System.Windows.Forms؟
السلام عليكم
هل يوجد فصيلة CLASS مثل System.Web.UI.WebControls.ListItem توجد في System.Windows.Forms؟
شكرا
نعم مش واضح خالص
ولدي إليك وصيتي عهد الأسودْ
العز غايتنا نعيش لكي نسود
و عريننا في الأرض معروف الحدود
فاحم العرين و صنه عن عبث القرود
أظفارنا للمجد قد خُلقت فدى
و نيوبنا سُنَّت بأجساد العدى
و زئيرنا في الأرض مرهوب الصدى
نعلي على جثث الأعادي السؤددا
في class بالاسم ده ListItem موجوده في namespace بالاسم ده WebControls يعني تابع لتطبيقات الويب
اللي عاوزه فصلية بنفس الامكانيات تكون موجوده في namespace بالاسم ده Forms يعني عشان هستخدمه في تطبيق ويندوز
وعلي فكرة انا استخدم الفصلية ListItem في تطبيق الويندوز وعملت منها مصفوفة وضفتهم في comboBox وانضافه بس الغريب انهم مظهروش
اتمني يكون الموضوع وضح شوية وياريت لو عاوزين وضح اكتر قوله
تم تعديل هذه المشاركة بواسطة الطائر التركي في 8 أغسطس 2008 في 17:41
شكرا
طيب ممكن الكود
ولدي إليك وصيتي عهد الأسودْ
العز غايتنا نعيش لكي نسود
و عريننا في الأرض معروف الحدود
فاحم العرين و صنه عن عبث القرود
أظفارنا للمجد قد خُلقت فدى
و نيوبنا سُنَّت بأجساد العدى
و زئيرنا في الأرض مرهوب الصدى
نعلي على جثث الأعادي السؤددا
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;
}شكرا
لو عايز تعرف ال items اللي في ال ComboBox نوعها ايه
اكتب Combobox.Items و شوف items عبارة عن Collection من اي نوع
علي العموم لا تستخدم الكنترول او الكلاسات الخاصة بالويب في Windows App
بطريقة مباشرة لانها في الاصل تتحول الي HTML Code باستخدام ما يسمي - Rendering
ال 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
متشكر جدا علي ردك
وياريت لو تساعدني في اعطاء امثله عن الادوات اللي كنت تقصده بسطر ده،
اقتباسيعني ممكن تستخدم اي Object قابل للعرض بحيث تحدد اي خاصية فيه للعرض DisplayMember و اخري للقيمة ValueMember
انتظرك
وبالنسبة للحل التاني فعلا هو كان احد الافكار المطروحة في المنتدي بس كنت اتنمي حل افضل --اسهل-- كما موجوده في ListItem
شكرا
من الواضح لا يوجد من يعرف حل اسرع --اسهل-- :( من اني اعمل صنْف خاص بي كما اقتراحة
بس اسمحلي ببعض الملاحظات
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
شكرا
السلام عليكم ورحمة الله
بامكانك استخدام نفس الفئة في الويب وفي التطبيق العادي ولا مشكلة في ذلك فهي في النهاية فئة تابعة للفريموورك
فعلا كلام حضرتك صحيح وبلفعل استخدمتها بس
عشان احصل القيمة value نفس الطريقة الطويل يعني مش بعرف اوصلها عن طريق الـcombBox بطريقها مباشرة
ياريت لو حضرتك تقلي ازاي اوصل للـقيمة Value مباشرتاً من الـcomboBox
شكراً علي التعاون
شكرا
بامكانك استخدام الخاصية SelectedValue للحصول على القيمة المقابلة للنص
مثل
msgbox ComboBox1.SelectedValue
او وضع القيمة
ComboBox1.SelectedValue = 5
ارجو ان يكون هذا هو المطلوب
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…