PDA

View Full Version : سوال: نمایش اندیس های آرایه



NASA's Spaceman
پنج شنبه 14 فروردین 1393, 23:18 عصر
سلام
یه آرایه دارم که 10 تا اندیس داره و حالا میخوام این ده تا را طی یه زمان مشخص یکی یکی تو یه لیبل نمایش بدم باید چیکار کنم؟
با سپاس

مهدی اسماعیلی
جمعه 15 فروردین 1393, 01:18 صبح
سلام
با Thread میشه، با Timer هم میشه

از طریق Thread :

ابتدا فضای نام مربوط به Thread را اضافه کنید:
using System.Threading;

تابع مربوطه:
public void LoopText()
{
string[] s = new string[] { "Mehdi", "Ali", "Reza", "Mohammad", "Vahid", "Etc" };

for (int i = 0; i < s.Length; i++) {
label1.Text = s[i];
Thread.Sleep(1000);
}
}

این کد هم داخل یک Button یا Form Load قرار دهید:
ThreadStart ts = new ThreadStart(LoopText);
Thread t = new Thread(ts);
t.Start();

در Theread.Sleep(1000) اینجا 1000 به معنای 1 ثانیه هست.

درضمن، من هنوز رو حرفم هستما :لبخند: Java

NASA's Spaceman
جمعه 15 فروردین 1393, 01:51 صبح
با تایمر چجوری میشه؟
با سپاس

مهدی اسماعیلی
جمعه 15 فروردین 1393, 13:48 عصر
با تایمر چجوری میشه؟


ابتدا یک Timer اضافه کنید و خاصیت Interval آن را برابر 1000 قرار دهید و Enabled آن را هم True کنید.

یک متغیر بصورت سراسری برای ایندکس و کنترل حلقه تعریف کنید:
int counterArray = 0;
سپس این کد را داخل Timer قرار دهید:
bool show = false;
string[] s = new string[] { "Mehdi", "Ali", "Reza", "Mohammad", "Vahid", "Etc" };

for (;counterArray < s.Length && show == false;)
{
label1.Text = s[counterArray];
show = true;
counterArray++;
}
show = false;