PDA

View Full Version : سوال: رفتن به آیتم بعدی در کمبو باکس



ashkan1234
شنبه 18 خرداد 1392, 14:30 عصر
سلام!
دوستان چطور میشه فهمید که کمبو باکس به آخرین آیتم رسیده؟
الان من با یک دکمه میرم به آیتم بعدی
cmb.SelectedIndex++
خوب این تا جایی پیش میره که به آخرین آیتم نرسیده باشه!
حالا به محض اینکه رسید به آخرین آیتم و دکمه بعدی رو زدم،ارور میده!
خوب حق هم داره چون بعد اون دیگه چیزی نیست که!
حالا چطور میشه فهمید که رسیده به آخرین آیتم و مثلا اگر رسیده بود به آخرین آیتم مسیج باکس بگه!
یا اینکه اگه رسید به آخرین آیتم،دوباره برگرده و اولین آیتم رو انتخاب کنه!
فکر میکنم با حلقه ها باید اینکار رو کنترل کرد!ولی چطوریشو دقیق نمیدونم!
اگه ممکنه راهنمایی بفرمایید!
باتشکر!

fool66
شنبه 18 خرداد 1392, 14:44 عصر
یه شرط بزار اگه به این مقدار
cmb.Items.Count
نرسیده بود بعد ++ کن

ashkan1234
شنبه 18 خرداد 1392, 15:30 عصر
یه شرط بزار اگه به این مقدار
cmb.Items.Count
نرسیده بود بعد ++ کن

ممنون ولی مشکله اینه که تعداد آیتمهای کمبو باکس متغیر هستند!

veniz2008
شنبه 18 خرداد 1392, 15:52 عصر
سلام.
توی رویداد selected index change کمبوباکس، تعداد ایتم ها رو با کدی که دوستمون داد بشمار. این رویداد زمانی فعال میشه که شماره آیتم کمبوباکس تغییر کنه. اگر هم منظورت چیز دیگه ای هست بیشتر توضیح بده تا بهتر بشه راهنمایی کرد.

ashkan1234
شنبه 18 خرداد 1392, 16:10 عصر
خیلی متوجه نشدم!
cmb.Items.Count
خوب این میاد میشماره!
خوب باید چی با این مقایسه بشه؟
میشه بیشتر توضیح بدید؟

ashkan1234
شنبه 18 خرداد 1392, 16:15 عصر
آقا درستش کردم!کد رو میزارم اگه کسی دیگه هم مشکل مشابه داشت بتونه حلش کنه!
چون index از 0 شروع میشه پس یک واحد از Count کمتره واسه همین باید منهای یک بشه!
if (cmb.SelectedIndex != cmb.Items.Count-1)
{
cmb.SelectedIndex ++;
}
else
cmb.SelectedIndex=0;

roolinjax
شنبه 18 خرداد 1392, 17:44 عصر
سلام من فکر می کنم باید منهای دو بشه ها
چون یکی به خاطر اونی که خودتون گفتین و یکی هم به خاطر اینکه تا یکی مونده به آخر باید بررسی بشه و اگر تا یکی مونده به آخر بود پیش بیادو یکی اضافه کنه (چون تست کنید ببینید درست کار میکنه کدتون. من حس می کنم تا یکی مونده به آخر میاد و به گزینه آخر نمیرسه
ضمنا بهتر به جای =! از علامت => استفاده کنید