PDA

View Full Version : سوال: عوض کردن نام چند button



morrteza323
دوشنبه 01 شهریور 1389, 18:54 عصر
سلام
دوستان عزیز من تو برنامه ام 20 تا button دارم و می خوام با حلقه ی for نام اونارو عوض کنم.چجوری اینکارو انجام بدم؟؟؟
مثلا اینجوری :


for(i = 1 ; i<=20;i++)
buttoni.text = i.tostring();

raha1234567
دوشنبه 01 شهریور 1389, 19:01 عصر
سلام
دوستان عزیز من تو برنامه ام 20 تا button دارم و می خوام با حلقه ی for نام اونارو عوض کنم.چجوری اینکارو انجام بدم؟؟؟
مثلا اینجوری :


for(i = 1 ; i<=20;i++)
buttoni.text = i.tostring();



بله درسته من این موضوع در صورتی که خودم دکمه ساختم استفاده کردم جواب داد

Mohandes2009
دوشنبه 01 شهریور 1389, 19:07 عصر
فک کنم این باشه



foreach (Button item in Form1)
{
for (int i = 0; i < 18; i++)
{
item.Text = i.ToString();
}
}

morrteza323
دوشنبه 01 شهریور 1389, 19:13 عصر
بله درسته من این موضوع در صورتی که خودم دکمه ساختم استفاده کردم جواب داد
میشه یه برنامه ی مثال بزارید؟؟؟
--------------------

فک کنم این باشه



foreach (Button item inForm1)
{
for (int i = 0; i < 18; i++)
{
item.Text = i.ToString();
}
}

error =Error 3 'test1.Form1' is a 'type' but is used like a 'variable'

دوست عزیز لطفا یه نمونه برنامه بزارید

mmd2009
دوشنبه 01 شهریور 1389, 19:17 عصر
با سلام. کد درستش اینه



int i = 0;
foreach (Control c in Controls)
{
if (c.GetType() == typeof(Button))
{
c.Text = "Button"+i.ToString();
}
i++;
}

--------------------
و البته اگر در زمان اجرا می خواهید درست کنید از روش زیر استفاده کنید



for (int i = 0; i <= 10; i++)
{
Button b = new Button();
b.Text = "Button" + i.ToString();

// نمایش در فرم
this.Controls.Add(b);

// نمایش در کونتاینر فلوو
flowLayoutPanel1.Controls.Add(b);

}

morrteza323
دوشنبه 01 شهریور 1389, 19:29 عصر
واقعا ممنون .فقط یه سوال
این کد ی که دادید از پایین ترین button داخل فرم نام ها رو عوض می کنه.که این باعث می شه دکمه هایی که نمی خوام نام آنها عوض شه عوض بشه.برای این مشکل چه راه حلی دارید؟؟؟مثلا button1تا button20عوض شه

mmd2009
دوشنبه 01 شهریور 1389, 19:52 عصر
خب کد بالا روی کونتاینر ها عمکلی انجام نمیده. شما میتونید واسه دکمه هایی که نمی خواهید غوض بشن یک کنتاینر بذارید و دکمه ها رو بذارید داخلش

morrteza323
دوشنبه 01 شهریور 1389, 20:09 عصر
خب کد بالا روی کونتاینر ها عمکلی انجام نمیده. شما میتونید واسه دکمه هایی که نمی خواهید غوض بشن یک کنتاینر بذارید و دکمه ها رو بذارید داخلش:خجالت::متعجب:
دقیقا نفهمیدم.میشه یه مثال بزارید؟؟؟
راستی دکمه ها همشون تو یه صفحه هستن و نباید از هم جدا بشن:متفکر:

mmd2009
دوشنبه 01 شهریور 1389, 20:42 عصر
بیا دوست عزیز منظور من همچین چیزی بود

morrteza323
دوشنبه 01 شهریور 1389, 21:08 عصر
دوست عزیز شرمنده که اینقدر سوال می پرسم.اما ترتیب خیلی مهمه.متاسفانه کنترل این دستور خیلی سخته.راه دیگه ای نیست؟؟؟یه نمونه گذاشتم.شما تفاوت اون چیزی که من می خوام رو نگاه کنید

#aliyari_C
دوشنبه 01 شهریور 1389, 21:18 عصر
سلام
در حالی که داری از حلقه استفاده می کنی, چرا ترتیب برات مهمه .....

موفق باشی
__________________________________________________ __________________________________________________
چون به دریا می توانی راه یافت
سوی یک قطره چرا باید شتافـت

بی تو ای آزادی ای والا کلام گر نباشی در میان باید که از دنیا گریخت...

morrteza323
دوشنبه 01 شهریور 1389, 21:33 عصر
سلام
در حالی که داری از حلقه استفاده می کنی, چرا ترتیب برات مهمه .....

موفق باشی

دوست عزیز واسه تقویم لازم دارم.نمی خوام همه ی روز های ماه ها رو دستی مقدار دهی کنم.35 تا دکمه دارم.تو هر ماه 30 از دکمه ها نسبت به اولین روز ماه نام گذاری میشن.

raha1234567
دوشنبه 01 شهریور 1389, 22:11 عصر
دوست عزیز شرمنده که اینقدر سوال می پرسم.اما ترتیب خیلی مهمه.متاسفانه کنترل این دستور خیلی سخته.راه دیگه ای نیست؟؟؟یه نمونه گذاشتم.شما تفاوت اون چیزی که من می خوام رو نگاه کنید

ببین این برنامه را می خوای



privatevoid Form1_Load(object sender, EventArgs e)
{
int i, j;
int a = 1, b = 62, c = 60;

for (i = 1; i <= 3; i++)
{
for (j = 1; j <= 3; j++)
{
Button btn = new System.Windows.Forms.Button();
btn.Location = newPoint(b, c);
btn.Name += "button" + a.ToString();
btn.Size = newSize(42, 33);
btn.Text = a.ToString();
);
a += 1;
b += 62;
this.Controls.Add(btn);

}
c += 60;
b = 62;
}
}

این برنامه دکمه ایجاد می کنه و اسم هاشونهم از 1 تا 9 می ذاره فقط من براش یه مقدار جدا گرفتم شما می تونید با همون for هم بنویسی

feree123
شنبه 06 شهریور 1389, 12:06 عصر
دوست عزیز لطفا یه نمونه برنامه بزارید


سلام



for (int i = 1; i < 10; i++)
{
Button a = new Button();
a.Text = i.ToString();
a.Size = new Size(30, 40);
int x, y;
x = ((i-1) % 3) * 30 + 20;
y = ((i-1) / 3) * 40 + 20;
a.Location = new Point(x, y);
this.Controls.Add(a);
}