PDA

View Full Version : سوال: بدست آوردن مقدار قبلی combobox



sari-1369
پنج شنبه 17 بهمن 1387, 11:23 صبح
سلام دوستان فرض کنین کد زیرو تو رویداد SelectedIndexChanged کامبوباکس می نویسم .

می خوام وقتی که شرط زیر برقرار شد index قبلی combo رو انتخاب کنم .






===========یه آرایه از کامبو=============

in=کامبویی که ایندکس داره چنج میشه
id=تعداد کل کامبو ها


For i = 0 To id - 1
If comboboxkala(in).Text = comboboxkala(i).Text Then
If i <> in Then

اون آیتمی که قبل از چنج شدن کامبو بود دوباره انتخاب بشه ، یا این چنج اعمال نشه

End If
End If
Next
پیشاپیش ممنون

Ali_Mor
پنج شنبه 17 بهمن 1387, 23:13 عصر
همیشه آخرین ایتم انتخاب شده رو در یک متغیر عمومی نگهدار، اینطوی بعد از تغییر مقدار کامبو، مقدار قبلیش رو داری
(امیدورام سوالت رو درست فهمیده باشم!!!!!!)

sari-1369
جمعه 18 بهمن 1387, 00:54 صبح
نه دوست عزیز .

ببین ، مثلا 10 تا کامبو دارم . نمیدونم کاربر رو کدوم کامبو می خواد چنج کنه که مقدار قبلی رو نگه دارم . بعدش میخوام هر کامبویی که تغییر داد ، اگه اون آیتم تو یکی از اون 10 تا کامبو قبلا انتخاب شده بود قبولش نکنه . به مقدار قبلیش برگرده .

sari-1369
جمعه 18 بهمن 1387, 00:56 صبح
راسی ، رویدادی هست که قبل از SelectedIndexChanged اتفاق بیوفته ؟؟

Ali_Mor
یک شنبه 20 بهمن 1387, 00:20 صبح
میتونی از خاصیت Tag کامبوباکس برای ذخیره آخرین مقدار انتخاب شده آن استفاده کنی، اینجوری نیازی به گرفتن متغیر برای هر کامبو نداری.


For i = 0 To id - 1
If comboboxkala(in).Text = comboboxkala(i).Text Then
If i <> in Then
comboboxkala(in).Text=CStr(comboboxkala(in).Tag)
Return
End If
End If
Next
'اگر ایتم انتخاب شده در دیگر کامبوها انتخاب نشده باشد، خط زیر اجرا میشود
comboboxkala(in).Tag= comboboxkala(in).Text
(چیزی که نوشتم تست نکردم ولی احتمالا با کمی تغییرات کار کنه)
در مورد سوال دومت من چیزی سراغ ندارم

sari-1369
یک شنبه 20 بهمن 1387, 15:04 عصر
سلام دوست عزیز . من تو رویداد enter کامبوباکس مقدار فعلیشو گرفتم و مشکلم حل شد . کد شمارو هم آزمایش میکنم . ممنون