PDA

View Full Version : چینش کنترل های ایجاد شده در فرم



mehrdad.h
شنبه 13 اردیبهشت 1393, 20:13 عصر
با سلام خدمت اساتید گرامی
من فرمی دارم که با توجه به اطلاعات وارد شده تعدادی دکمه ایجاد میشه (تعداد دکمه ها متغیر) میخواستم بدونم
جچوری میتونم این دکمه هارو 16تا16تا زیر هم سطر بندی کنم (با توجه به عکس فقط سطر اول 16تایی میشه)


118600

Mani_rf
یک شنبه 14 اردیبهشت 1393, 09:27 صبح
از کنترل StackPanel استفاده کنی خودش این کار رو انجام میده. فقط نباید اجازه بدی اندازه پنل از اندازه ای که بیشتر از 16 تا از کنترل مورد نظر توش جا میشه بیشتر بشه.

mehrdad.h
یک شنبه 14 اردیبهشت 1393, 14:00 عصر
از کنترل StackPanel استفاده کنی خودش این کار رو انجام میده. فقط نباید اجازه بدی اندازه پنل از اندازه ای که بیشتر از 16 تا از کنترل مورد نظر توش جا میشه بیشتر بشه.
ممنون از توجه شما دوست عزیز ولی پروژه من winForm هست. و کنترل ها روی فرم اصلی ایجاد میشن

Mani_rf
یک شنبه 14 اردیبهشت 1393, 16:11 عصر
با عرض شرمندگی توی ویندوز فرم اسمش FlowLayoutPanel هست

mehrdad.h
یک شنبه 14 اردیبهشت 1393, 18:16 عصر
با عرض شرمندگی توی ویندوز فرم اسمش FlowLayoutPanel هست
با تشکر از پاسختون دوست عزیز
چجوری میتونم 16 تا 16 تا دکمه هارو سطر بندی کنم؟.
کد من :
for (int i = 0; i < Int32.Parse(Count) + 1; i++) {

Button B = new Button();
Label L = new Label();
Controls.Add(L);
Controls.Add(B);

B.BackColor = (Color.FromArgb(colors[i].A, colors[i].R, colors[i].G, colors[i].B));
B.Font = new System.Drawing.Font("2 Titr", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(178)));
L.Font = B.Font = new System.Drawing.Font("2 Titr", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(178)));
B.Height = 40;
B.Width = 40;
L.Height = 20;
L.Width = 40;

B.Location = new System.Drawing.Point(5 + i * 45, 40);
L.Location = new System.Drawing.Point(5 + i * 45, 20);
B.Name = i.ToString();

aslan
چهارشنبه 17 اردیبهشت 1393, 18:37 عصر
// string Count="100";
int j = 0;
int m = 41;
int tedad = 1;
for (int i = 0; i < Int32.Parse(Count) + 1; i++,tedad++)
{

Button B = new Button();
Label L = new Label();


B.BackColor = (Color.FromArgb(colors[i].A, colors[i].R, colors[i].G, colors[i].B));
B.Font = new System.Drawing.Font("2 Titr", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(178)));
L.Font = B.Font = new System.Drawing.Font("2 Titr", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(178)));
B.Height = 40;
B.Width = 40;
L.Height = 20;
L.Width = 40;

B.Location = new System.Drawing.Point(m , 40+j);
L.Location = new System.Drawing.Point(m , 20+j);

B.Name = i.ToString();

Controls.Add(L);
Controls.Add(B);


m = m + 41;
if (tedad>16)
{
j = j+51; // فاصله ردیفها از هم
m = 41; // شروع از ستون
tedad = 0;
}



}