من با استفاده از for تعدادی button درست کردم و میخوام بعدا خصوصیت text دکمه پنجم رو تغییر بدم. چیکار کنم؟
یا مثلا بگید چه جوری میشه یه آرایه پویا (با ArrayList) از button ها درست کرد و بعدا خصوصیات یک دکمه خاص رو تغییر داد.
ممنون
من با استفاده از for تعدادی button درست کردم و میخوام بعدا خصوصیت text دکمه پنجم رو تغییر بدم. چیکار کنم؟
یا مثلا بگید چه جوری میشه یه آرایه پویا (با ArrayList) از button ها درست کرد و بعدا خصوصیات یک دکمه خاص رو تغییر داد.
ممنون
می تونید از Controls.Find استفاده کنید و آرایه ای از Controls رو بدست بیاورید.
به جای ArrayList از لیست های ژنریک استفاده کنید بهتره :
List<Button> buttons = new List<Button>();
for (int i = 0 ; i < 10 ; i++)
buttons.Add(new Button());
int top = 10;
foreach(Button btn in buttons)
{
btn.Text = "";
top += 40;
btn.Location = new System.Drawing.Point(20, top);
}
buttons[5].Text = "Salam";
ممکنه خطای سینتکسی داشته باشه چون دسترسی به IDE نداشتم
...مرا به خانه ام ببر، اگرچه خانه؛ خانه نیست
به یه مشکل خوردم. از خط اول سه تا ایراد می گیره:
a new expression requires () or [] after type
invalid expression term ')'
) expected
فکر کنم اگه namespace زیر رو اضافه کنم درست میشه ولی مشکل اینجاست که پیغام میده که این namespace وجود نداره.
using System.Collections.Generic;
چیکار کنم؟
ArrayList buttonArray=new ArrayList();
for(int i=0;i<tableWidth;i++)
for(int j=0;j<tableHeight;j++)
{
Button b=new Button();
buttonArray.Add(b);
b.Click += new EventHandler(leftClick);
b.Name=Convert.ToString("btn"+i+j);
b.Location=new Point(cellSize*i,cellSize*j+30);
b.Width=cellSize;
b.Height=cellSize;
this.pnlPanel.Controls.Add(b);
}
راستش دارم بازی مین روب رو می نویسم.
شما که به نام کنترل هاتون اندیس داده اید به راحتی می تونید بر اساس اسمشون اونهل رو Find کنید. یه نمونه برنامه قبلا گذاشتم در لینک زیر گذاشتم :
https://barnamenevis.org/showth...=Controls.Find
از همگی ممنون! مساله حل شد.بازم ممنون.
احتمالا شما کل تعریف و ساخت کنترل رو داخل یه بلوک مثلا همین for انجام نمی دید؟؟؟؟
میشه بگی چیکار کردی و مشکل از کجا بود شاید یه روزی بدرد ماهم خورد.