PDA

View Full Version : جا به جایی بین اعضای یک ارایه ی متنی



ehsan7007
جمعه 24 خرداد 1392, 20:42 عصر
سلام دوستان ؛ شب خوش.

یک ارایه ی متنی دارم ؛ فرضا شامل :
A,b,c,d,e,f,g,h,I,j,k,l,n,m,p

یک عضو از اون رو انتخاب می کنم ( با تکست باکی) ؛ مثلا
C

یک باتن دارم که می خوام با هر بار کلیک روی اون عضو بعدی ارایه در یک تکست باکی دیگه نشون داده بشه وقتی هم به اخر رسید دوباره از اول شروع بشه: خودم با for درست کردم ولی خیلی پیچیده شد :


مثلا با 20 بار کلیک روی باتن به ترتیب مقادیر زید درتکس باکس ریخته بشه :
d,e,f,g,h,I,j,k,l,n,m,p,a,b,c,d,e,f,g,h

خودم تا اخر مثلا تا p می روم ولی برای برگشتش مشکل دارم ؛ یعنی بیشتر از دو دور نمیزنه.

ممنون دوستان میشم راهنمایی کنند .

volcano_c
جمعه 24 خرداد 1392, 21:47 عصر
سلام

اصلا احتیاح به هیچ حلقه ای نیست

فقط کافیه دو فیلد عمومی داشته باشی . یکی برای اینکه چک کنی اولین باره روی دکمه کلیک کردی یکی هم برای نشان دادن خانه بعدی آرایه

private bool Status=false;
private int pointer;

بعد توی دکمه هم این کد رو بنویس البته این برای اینه که یه جرقه ای توی ذهنتون بزنم هست

if (status == false)
{
pointer = list.IndexOf("C") + 1;
status = true;
}
else
{
pointer++;
if (pointer>List.lenght)
{
pointer = 0;
}
MessageBox.Show( list[pointer].ToString());
}


به جای حرف c حرف مورد نظر یا ورودی مناسب خودت و قرار بده

و از messagebox هم برای خروجیت

موفق باشی

ehsan7007
جمعه 24 خرداد 1392, 22:51 عصر
این قسمت رو
pointer = list.IndexOf("C") + 1;

به این تغییر دادم و درست شد. تشکر.
for (int i = 0; i <= m.length; i++)
{
if (m[i] == "c") pointer = i;
}

tooraj_azizi_1035
شنبه 25 خرداد 1392, 12:53 عصر
فقط همین:
list.ElementAt(counter++);