PDA

View Full Version : سوال: Vertical کردن لیست باتن



rezarko
یک شنبه 14 آبان 1391, 14:57 عصر
سلام. من برای ایجاد باتن با کد نویسی از کد زیر استفاده میکنم. ولی این کد همه ی باتن ها رو زیر هم ایجاد میکنه. اگه بخوام به صورت Vertical کنار هم ایجتد بشن باید چیکار کنم؟
List<Button> buttons = new List<Button>();
for (int i = 0; i < 10; i++)
{
Button btn = new Button();
btn.Size = new Size(120, 22);
btn.Text = string.Format("dsa");
btn.Location = new Point(10, i * 25 + 10);
buttons.Add(btn);
}
this.Controls.AddRange(buttons.ToArray());

باتشکر

abcd_a
یک شنبه 14 آبان 1391, 16:47 عصر
سلام
برای چییدن دکمه رو فرم به صورت افقی یا عمودی می تونی از کنترل flowLayoutPanel یا tableLayoutPanel استفاده کنی

rezarko
یک شنبه 14 آبان 1391, 17:00 عصر
ممنون. میشه در مورد نحوه کارکرد این دو توضیح بدید؟

abcd_a
یک شنبه 14 آبان 1391, 17:33 عصر
سلام مجدد
کنترل flowLayoutPanel برای محل قرار گرفتن کنترها در زمان اجرا استفاده میشه
کتنرل tableLayoutPanel شیه کنترل قبلی است اما ساختار پیچیده تری داره امکان اضافه کردن سطر و ستون نیز داره میشه بهتر مدیریتش کرد

یک کنترل flowLayoutPanel از toolBox رو فرم قرار بده با نوشتن کدهای خودتون در یک دکمه به صورت زیر کنترها درون flowLayoutPanel کنار هم قرا میگیره

private void button1_Click(object sender, EventArgs e)
{
List<Button> buttons = new List<Button>();
for (int i = 0; i < 10; i++)
{
Button btn = new Button();
btn.Size = new Size(120, 22);
btn.Text = string.Format("dsa");
btn.Location = new Point(10, i * 25 + 10);
buttons.Add(btn);
flowLayoutPanel1.Controls.Add(btn);
}
// this.Controls.AddRange(buttons.ToArray());

}

از خصوصیت FlowDirection هم می تونی برای مکان کنترها درون این کنترل استفاده کنی

rezarko
یک شنبه 14 آبان 1391, 21:38 عصر
متشکرم از راهنماییتون.یه سوال دیگه اگه بخوام افقی بشه باید چیکار کنم؟

abcd_a
دوشنبه 15 آبان 1391, 09:22 صبح
سلام
نمایش به صورت افقی

flowLayoutPanel1.WrapContents = false;

rezarko
پنج شنبه 18 آبان 1391, 10:54 صبح
ممنون.من توی یکی از فیلد های دیتابیسم تکست باتن هارو ذخیره کردم. حالا چه طور میشه تکست های داخل دیتا بیسم رو به هریک از این باتن ها بدم.