PDA

View Full Version : سوال: ایجاد لیستی از object ها



ali.monje
شنبه 03 خرداد 1393, 22:26 عصر
سلام خدمت همه دوستان عزیز
ببخشید بچه ها یه سوال :
وقتی میخوایم یه object رو مثلا یه object از نوع TextBox ایجاد کنیم این کد رو مینویسیم دیگه


TextBox text1 = new TextBox();


اینجا من اسمشو برابر با text1 گذاتشم ولی یه مشکل یا بگم یه کار که میخوام اینجا انجام بدم و بلد نیستم راستیتش
اونم اینکه اون "1" رو که آخر text1 گذاشتم هر بار عوض شه یعنی بتونم تو یه حلقه مثلا 100 تا اینجوری object هایی از نوع TextBox ایجاد کنم که اسمشون از text1 تا text100 باشه

اگر چیزی میدونین یا راهی بلدین خارج از این قضایا حتما به من راهنمایی کنین شدید نیاز دارم مبرم ، فقط یه نکته که من نمیتونم از toolbox استفاده کنم و برنامه هم به زبان شیرین سی شارپ هه
یه دنیا ممنون
منتظر پاسخ های گرمتون هستم

Mori Bone
شنبه 03 خرداد 1393, 22:33 عصر
این فقط یه متغیر از شی هست. شما می تونی با دستور زیر نام کنتریتو عوض کنی:
for(int i=1; i<4;i++)
{
TextBox text1 = new TextBox();
text1.name = "text" + i.tostring();


this.controls.add(text1);
text1.text= "dfsdfsdfsdf";
}

ali.monje
شنبه 03 خرداد 1393, 23:05 عصر
این فقط یه متغیر از شی هست. شما می تونی با دستور زیر نام کنتریتو عوض کنی:
for(int i=1; i<4;i++)
{
TextBox text1 = new TextBox();
text1.name = "text" + i.tostring();


this.controls.add(text1);
text1.text= "dfsdfsdfsdf";
}

خیلی ممنون
ولی یه مشکلی که هست Object هایی چون BackgroundWorker از Name پشتیبانی نمی کنن!
یعنی اگه من بخوام مثلا 100 تا از این نوع Object ایجادکنم و فرمانی رو به صورت مجرا برای اجرا به هر کدوم وصل کنم با این روش نمیتونم
راه دیگه ای به ذهنتون نمیرسه؟

Mori Bone
شنبه 03 خرداد 1393, 23:10 عصر
مشا میتونی بزارش تو یدونه آرایه از اون شی
List<TextBox> list = new List<TextBox>();

ali.monje
شنبه 03 خرداد 1393, 23:26 عصر
مشا میتونی بزارش تو یدونه آرایه از اون شی
List<TextBox> list = new List<TextBox>();
بازم یه دنیا ممنون
این خیلی بهتر از بلی بود روشش
کد رو به این صورت اصلاح کردم


for (int i = 1; i < 4; i++)
{
List<BackgroundWorker> list = new List<BackgroundWorker>();
list[i].DoWork += new DoWorkEventHandler(bw_backup_DoWork);
list[i].RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_backup_RunWorker Completed);
list[i].RunWorkerAsync();
}


ولی این بار به خط هنگام اجرا ایراد میگیره ولی ایراد ساختاری یا همون سینتکس نداره فک کنم قابل حله