0 امتیاز
در تدریس کنترل listbox و خاصیت های آن یکی از دانش آموز در مورد خاصیتselectedvalue سوال و مثال می خواستن ولی مثالهایی که در ظاهرا باید جواب میداد همگی خطا دارند حتی این جواب یکی از دوستان بسیار با تجربه Private void listbox1_Selectedvaluechangede() ( If(listbox1.selectedIndex !=-1) TextBox1.text=Listbox1.selectedvalue.tostring () ; ) )
سلام ،شما میخواهین مقداری رو که در لیست باکس انتخاب میکنید رو در تکس باکس نشون بدین؟

این چیزی بود که من فهمیدم.یکم واسم شفاف کنید.
توسط (594 امتیاز) 1 6 33
سلام. نه. فقط میخوام یطوری خاصیت selectedvalue مربوط به listboxرا به دانش آموز توضیح بدم دنبال یه مثال مناسب میگردم
توسط (103 امتیاز) 2

2 پاسخ

+2 امتیاز

توضیحات خود Microsoft  را در لینک زیر ببینید :

https://msdn.microsoft.com/en-us/library/system.windows.forms.listbox.selecteditem(v=vs.110).aspx

+1 امتیاز

یک لیست باکس و یک textbox بر روی فرم قرار می دیم :

به کد زیر توجه کنید

using System;
using System.Windows.Forms;
using System.Collections.Generic;

namespace WindowsFormsApp3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            List<Person> persons = new List<Person>()
            {
                new Person() { ID = 1, Name = "Jack" },
                new Person() { ID = 2, Name = "Crola" },
                new Person() { ID = 3, Name = "John" },
            };       

            listBox1.DataSource     = persons;
            listBox1.ValueMember    = "ID";
            listBox1.DisplayMember  = "Name";           
        }
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            textBox1.Text = listBox1.SelectedValue.ToString();
        }
        class Person
        {
            public int    ID   { get; set; }
            public string Name { get; set; }
        }
    }
}

در کد بالا ما یک کلاس تعریف کرده ایم که دارای دو خاصیت Name و ID هست. سپس لیستی از این کلاس را ایجاد کرده و listbox را به وسیله آن پر می کنیم. در کد بالا دو خاصیت ValueMember و DisplayMember را به ترتیب برابر با خاصیت های ID و Name کلاس Person قرار می دهیم. همانطور که می دانید مقداری که در خاصیت DisplayMember قرار داده می شود به کاربر نمایش داده می شود و مقداری که در ValueMember هست در پس زمینه قرار گرفته و نمایش داده نمی شود. به طور ساده تر آیتم های لیست باکس همان مقادیر Name هستن و اندیسشون هم مقادیر ID. کار خاصیت selectedValue اینه که مقداری که در خاصیت ValueMember هست رو نشون میده :

حال اگه شما خطوط 23 و 24 رو به صورت زیر تغییر بدین

listBox1.ValueMember    = "Name";
listBox1.DisplayMember  = "ID";  

با کلیک بر روی هر آیتم خاصیت Name توی تکس باکس نمایش داده می شه

سوال جدید

2,335 سوال

2,871 پاسخ

3,725 دیدگاه

3,916 کاربر

دسته بندی ها

...