PDA

View Full Version : سوال: دسترسی به عنصر انتخاب شده در ListBox



مهدی رحیم زاده
سه شنبه 19 آذر 1387, 21:21 عصر
سلام
می خوام به متن نوشته شده توی لیست باکس دسترسی داشته باشم و اونو توی یک TextBox نشون بدم اما نمیشه .
چکار کنم ؟؟؟؟؟
ممنون

Esmail Solhkhah
سه شنبه 19 آذر 1387, 22:40 عصر
textBox1.Text = listBox1.SelectedItem.ToString();

مهدی رحیم زاده
سه شنبه 19 آذر 1387, 23:08 عصر
منم این کد رو میدونستم اما درست جواب نمیده و اون رشته رو درست نشون نمی ده ؟!؟!؟!؟
میزنه System.Drawing. ...

sinpin
چهارشنبه 20 آذر 1387, 08:21 صبح
textBox1.Text = listBox1.SelectedItem.ToString();
شما چه چیزی رو توی لیست باکس ذخیره کردید ؟
اگه رفتار متود ToString رو تغییر ندید اسم کلاس رو برمیگردونه

daneshjoo2
چهارشنبه 20 آذر 1387, 10:26 صبح
توي event‏، SelectedIndexChanged مربوط به listBox كد زير رو بنويس:

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
textBox1.Text = listBox1.Items[index].ToString();
}
به جاي index، شماره آيتمي رو كه ميخواي نشون بده وارد كن!

مهدی رحیم زاده
چهارشنبه 20 آذر 1387, 21:02 عصر
یک سری اسمن که از DataBase خودنم و توی لیست باکسم نشون میدم .
اما وقتی می خوام مقدار انتخاب شده رو توی یک تکس باکس نشون بدم همون مشکل برام پیش میاد !!!!

m110_110
پنج شنبه 21 آذر 1387, 08:10 صبح
سلام
امیدوارم کد زیر مشکلتو حل کنه



MessageBox.Show(listBox1.Items[listBox1.SelectedIndex].ToString());



تست شده جواب میده

مهدی رحیم زاده
پنج شنبه 21 آذر 1387, 13:21 عصر
این کد هایی که گذاشتین همشون درست اما اینا همون اشکالی که من گفتم رو داره .
توجه کنید کد ها درستن پس یه جای دیگه کار میلنگه ...
من می خوام بدونم اون اشکال از کجای کاره .
با تشکر

saba_v
جمعه 22 آذر 1387, 10:51 صبح
شما بااستفاده از ویژگی selectedindices می توانیم آیتم انتخاب شده را مشخص کنید وبعد ایتم را در یک textboxو یا یک listbox دیگر نشان دهید .

foreach(int i in listbox1.selectedindices)
textbox1.appendtext(listbox1.item[i])

علیرضا مداح
جمعه 22 آذر 1387, 11:33 صبح
سلام دوست عزیز،
آبجکت هایی که در شیء ListBox ذخیره میگردند، از نوع Object هستند و هنگام به دست آوردن مقدار پروپرتی SelectedItem باید آن را به نوع مورد نظر تبدیل کنید، زماینکه شیء مذکور به DataTable بایند میشود، اشیاء آن از نوع یک کلاس به نام System.Data.DataRowView هستند، پس بدیهیست که فراخوانی متد ToString() بر روی پروپرتی SelectedItem، به طور پیش فرض ،نام کلاس یعنی مقدار System.Data.DataRowView را برمیگرداند،
پس نتیجه میگیریم که شما باید ابتدا پروپرتی SelectedItem را به نوع System.Data.DataRowView تبدیل نمایید، به مثال زیر توجه نمایید :


string value = ((DataRowView)comboBox1.SelectedItem)["columnName"];




منم این کد رو میدونستم اما درست جواب نمیده و اون رشته رو درست نشون نمی ده ؟!؟!؟!؟
میزنه System.Drawing. ...

احتمالا" منظور شما همان System.Data.DataRowView میباشد ،/

مهدی رحیم زاده
جمعه 22 آذر 1387, 16:15 عصر
سالام و ممنون
آره همینیه که شما گفتید !!!
میشه یکمی بیشتر توضیح بدین .