PDA

View Full Version : ایجاد تکست باکس ها به شکل مربع



Salar Ashgi
دوشنبه 07 مرداد 1387, 12:05 عصر
با سلام و خسته نباشید به دوستان برنامه نویس ! چه جور میشه یک آرایه مربع شکل

از تکست باکس ها در سی شارپ با حلقه روی فرم نشان داد ؟ (مثل شکل زیر ) ممنون از راهنمایی تون

http://i36.tinypic.com/i4eoup.jpg

mehdi.mousavi
دوشنبه 07 مرداد 1387, 13:29 عصر
با سلام و خسته نباشید به دوستان برنامه نویس ! چه جور میشه یک آرایه مربع شکل از تکست باکس ها در سی شارپ با حلقه روی فرم نشان داد ؟ (مثل شکل زیر ) ممنون از راهنمایی تون


داخل متود OnLoad مربوط به فرمتون، TextBox های مورد نظر رو بصورت Dynamic ایجاد و اونا رو به Controls Collection فرم اضافه کنید:



for (Int32 i = 0; i < 3; i++)
{
for (Int32 j = 0; j < 3; j++)
{
TextBox txt = new TextBox();
txt.Name = i.ToString() + j.ToString();
txt.Size = new Size(20, 20);
txt.Location = new Point(30 * (i + 1), 30 * (j + 1));

Controls.Add(txt);
}
}

Salar Ashgi
دوشنبه 07 مرداد 1387, 13:56 عصر
داخل متود OnLoad مربوط به فرمتون، TextBox های مورد نظر رو بصورت Dynamic ایجاد و اونا رو به Controls Collection فرم اضافه کنید:



for (Int32 i = 0; i < 3; i++)
{
for (Int32 j = 0; j < 3; j++)
{
TextBox txt = new TextBox();
txt.Name = i.ToString() + j.ToString();
txt.Size = new Size(20, 20);
txt.Location = new Point(30 * (i + 1), 30 * (j + 1));

Controls.Add(txt);
}
}

=====================================
مرسی دوست عزیز !! کد شما کاملا درست کار کرد !! مشکل اصلی اینه location رو چه

جوری تشخیص بدیم ؟ چه جوری محاسبه کنیم ؟ (مثلا شما چه جوری نوشتید؟)

mehdi.mousavi
دوشنبه 07 مرداد 1387, 14:02 عصر
=====================================
مرسی دوست عزیز !! کد شما کاملا درست کار کرد !! مشکل اصلی اینه location رو چه

جوری تشخیص بدیم ؟ چه جوری محاسبه کنیم ؟ (مثلا شما چه جوری نوشتید؟)

این کد رو نگاه کنید:



Int32 xDisplacement = 5, yDisplacement = 5;
for (Int32 i = 0; i < 3; i++)
{
for (Int32 j = 0; j < 3; j++)
{
TextBox txt = new TextBox();
txt.Name = i.ToString() + j.ToString();
txt.Size = new Size(20, 20);
txt.Location = new Point((txt.Width + xDisplacement) * (i + 1), (txt.Height + yDisplacement) * (j + 1));

Controls.Add(txt);
}
}


جای xDisplacement و yDisplacement فاصله افقی و عمودی مورد نیازتون رو به Pixel تعیین کنید. دیگه چیزی برای محاسبه توسط شما نمیمونه. Size اش هم معلومه، همون 20,20 هستش. اونم به هرچی خواستید میتونید تغییر بدین.