PDA

View Full Version : سوال: چگونه ترتیب دسترسی به چند کنترل را در حلقه تغییر دهم؟



Merila_Rad
شنبه 18 تیر 1390, 21:18 عصر
سلام
من چند کنترل دارم که توسط یک حلقه foreach می خوام به ترتیب بهشون دسترسی داشته باشم.
اما ترتیب رعایت نمیشه .
مثلا فرض کنید در فرمم 4 لیبل دارم که میخوام به ترتیب از لیبل اول تا چهارم اونها را بررسی کنم
اما وقتی حلقه اجرا میشه اول میره سراغ لیبل چهارم بعد مثلا میره سراغ لیبل دوم. میخوام یه کاری کنم که بدون تغییر موقعیت لیبلها اول از همه لیبل اول مورد بررسی قرار بگیره و تا آخر
از راهنمایی شما ممنونم

spring69
شنبه 18 تیر 1390, 21:29 عصر
سلام
این ترتیب، بستگی به تعریف آبجکت ها در دیزاینر فرم داره.
کدهای فرم رو ببینید متوجه منظورم میشید :لبخندساده:

Merila_Rad
شنبه 18 تیر 1390, 21:40 عصر
یعنی به غیر از تغییر در کدهای دیزاین فرم راه حل دیگه ای نداره ؟ مثل تغییر یکی از Propertyهای آبجکتها؟

Salar Ashgi
شنبه 18 تیر 1390, 22:36 عصر
هر چند که این موضوع هم زیاد بررسی شده ، ولی با این حال یه روش ساده براتون قرار میدم :


for (int i = 0; i < this.Controls.Count; i++)
{
if (this.Controls[i].GetType() == typeof(Label))
{
if ((this.Controls[i] as Label).Name == "label1")
{
(this.Controls[i] as Label).Text = "Hello";
}
}
}


موفق باشید ./