PDA

View Full Version : اضافه کردن ایتم به ComboBox و اختصاص دادن value به هر ایتم



negar.rafie
پنج شنبه 23 خرداد 1392, 16:37 عصر
سلام
من میخوام بدون متصل کردن کومبوباکس به یک منبع داده به صورت دستی به کومبوباکس ایتم اضافه کنم و به هر ایتم یک value اختصاص بدم ولی نمیشه این کد منه لطفا راهنمایی کنید:

ComboBox item = new ComboBox();
item.Text = "text";
item.ValueMember = "12";
comboBox1.Items.Add(item);

veniz2008
پنج شنبه 23 خرداد 1392, 17:37 عصر
سلام.
کد زیر رو در partial اضافه کنید :

public class ComboboxItem
{
public string Text { get; set; }
public object Value { get; set; }

public override string ToString()
{
return Text;
}
}
درون دکمه ای که میخواید ایتم اضافه کنید کد زیر رو قرار بدید. من متن دلخواه رو از تکست باکس گرفتم و برای هر آیتم هم یک value منحصر بفرد ثبت کردم.

ComboboxItem item = new ComboboxItem();
item.Text = textBox1.Text;
item.Value = comboBox1.Items.Count;
comboBox1.Items.Add(item);
برای دیدن value هر آیتم هم از کد زیر استفاده کنید :

MessageBox.Show((comboBox1.SelectedItem as ComboboxItem).Value.ToString());
موفق باشید.

Mahmoud.Afrad
پنج شنبه 23 خرداد 1392, 17:47 عصر
سلام
من میخوام بدون متصل کردن کومبوباکس به یک منبع داده به صورت دستی به کومبوباکس ایتم اضافه کنم و به هر ایتم یک value اختصاص بدم ولی نمیشه این کد منه لطفا راهنمایی کنید:

ComboBox item = new ComboBox();
item.Text = "text";
item.ValueMember = "12";
comboBox1.Items.Add(item);


کدتون هیچ جوره قابل فهم نیست!! منطقش هم اشتباهه.



DisplayMember
A String (http://127.0.0.1:47873/help/1-5032/ms.help?method=page&id=T%3ASYSTEM.STRING&product=VS&productVersion=100&topicVersion=100&locale=EN-US&topicLocale=EN-US) specifying the name of an object property that is contained in the collection specified by the DataSource (http://127.0.0.1:47873/help/1-5032/ms.help?method=page&id=P%3ASYSTEM.WINDOWS.FORMS.LISTCONTROL.DATASOURCE&product=VS&productVersion=100&topicVersion=100&locale=EN-US&topicLocale=EN-US) property. The default is an empty string ("").


ValueMember
A String (http://127.0.0.1:47873/help/1-5032/ms.help?method=page&id=T%3ASYSTEM.STRING&product=VS&productVersion=100&topicVersion=100&locale=EN-US&topicLocale=EN-US) representing the name of an object property that is contained in the collection specified by the DataSource (http://127.0.0.1:47873/help/1-5032/ms.help?method=page&id=P%3ASYSTEM.WINDOWS.FORMS.LISTCONTROL.DATASOURCE&product=VS&productVersion=100&topicVersion=100&locale=EN-US&topicLocale=EN-US) property. The default is an empty string ("").
برگرفته از msdn
برای استفاده از این دو پراپرتی باید datasource را ست کنید.