ست کردن عکس تعداد زیادی picturebox
سلام به همه دوستان عزیز
یک فرم دارم که توش تعداد زیادی picturebox داره. این picturebox ها رو اینجوری نام گذاری کردم: pb1, pb2, pb3 و.... . میخوام توی لود فرمم به همه این picturebox ها یک عکس اختصاص بدم. ولی نمیخوام بصورت تک تک اینکارو بکنم. بلکه میخوام توی یک حلقه for اینکارو بکنم. اگر یک شرط برقرار بود عکس شماره یک و اگر برقرار نبود، عکس شماره دو رو قرار بدم. مشکل اصلی من اینه که نمیدونم چطوری باید اندیس picturebox ها رو اضافه کنم. یعنی pb[i] رو نمیتونم پیدا کنم.
تقریبا یه همچین چیزی میخوام:
for (i=1;i++)
}
if (condition)
pb(i).image = x
else
pb(i).image = y
{
امیدوارم منظورمو درست بیان کرده باشم
از دوستانی که کمک میکنن پیشاپیش تشکر میکنم
نقل قول: ست کردن عکس تعداد زیادی picturebox
سلام
اگر درست متوجه منظورتون شده باشم میخایی با استفاده از یه حلقه تو رویداد load یک فرم براساس شروط مختلف عکس ها را نشون بده.
خب اگر شرط داره چرا از دستور swich استفاده نمیکنی راحترم هست
موفق باشی
نقل قول: ست کردن عکس تعداد زیادی picturebox
یه کار که می تونی بکنی اینه یه آرایه از پیچکر باکسات بساز از اون استفاده کن
PictureBox[] pic = { p1, p2, p3 };
for (int i = 0; i < pic.Length; i++)
{
///دستوراتت
}
نقل قول: ست کردن عکس تعداد زیادی picturebox
سلام.
دوست من بارها پاسخ داده شده! لطفا جستجو کنید:
PictureBox pb(int index)
{
return (PictureBox)this.Controls.Find("pb"+index.ToString ()).First();
}
//...
for(int i=1;i<5;i++)
pb(i).Image=condition?x:y;
نقل قول: ست کردن عکس تعداد زیادی picturebox
نقل قول:
نوشته شده توسط
Ho3einAlone
سلام
اگر درست متوجه منظورتون شده باشم میخایی با استفاده از یه حلقه تو رویداد load یک فرم براساس شروط مختلف عکس ها را نشون بده.
خب اگر شرط داره چرا از دستور swich استفاده نمیکنی راحترم هست
موفق باشی
:لبخند:
چیزی برای گفتن ندارم. فقط یکبار دیگه سوالم رو بخونین بی زحمت.
ممنون
نقل قول: ست کردن عکس تعداد زیادی picturebox
نقل قول:
نوشته شده توسط
rezafatehy
یه کار که می تونی بکنی اینه یه آرایه از پیچکر باکسات بساز از اون استفاده کن
PictureBox[] pic = { p1, p2, p3 };
for (int i = 0; i < pic.Length; i++)
{
///دستوراتت
}
ممنون از لطف شما دوست عزیز. ولی این راه یه مشکلی که داره اینه که تمام اتومات نیست:لبخند: یعنی هر picturebox که به فرم اضافه میشه باید اسمشو به ارایه اضافه کنیم.
نقل قول:
نوشته شده توسط
مهرداد صفا
سلام.
دوست من بارها پاسخ داده شده! لطفا جستجو کنید:
PictureBox pb(int index)
{
return (PictureBox)this.Controls.Find("pb"+index.ToString ()).First();
}
//...
for(int i=1;i<5;i++)
pb(i).Image=condition?x:y;
سلام دوست عزیز. خیلی ممنون از راه حل خوبتون. البته چون کارم خیلی گیر بود، قبل از اینکه جوابتون به دستم برسه یه راه حل به شکل زیر پیدا کرده بودم. البته تقریبا شبیه به همینه ولی میزارم شاید به درد کسی بخوره
string PicName = string.Empty;
for (int i = 1; i <= n; i++)
{
PicName = "PB" + (i).ToString();
PictureBox mypb = (PictureBox)this.Parent.Controls.Find(PicName, true)[0];
if (status[i] == true)
{
mypb.Image = myimage;
}
}
البته در اینجا n قبلا مقداردهی شده
موفق باشید