با سلام خدمت اساتید گرامی
من فرمی دارم که با توجه به اطلاعات وارد شده تعدادی دکمه ایجاد میشه (تعداد دکمه ها متغیر) میخواستم بدونم
جچوری میتونم این دکمه هارو 16تا16تا زیر هم سطر بندی کنم (با توجه به عکس فقط سطر اول 16تایی میشه)
jjjjjjjj.jpg
با سلام خدمت اساتید گرامی
من فرمی دارم که با توجه به اطلاعات وارد شده تعدادی دکمه ایجاد میشه (تعداد دکمه ها متغیر) میخواستم بدونم
جچوری میتونم این دکمه هارو 16تا16تا زیر هم سطر بندی کنم (با توجه به عکس فقط سطر اول 16تایی میشه)
jjjjjjjj.jpg
از کنترل StackPanel استفاده کنی خودش این کار رو انجام میده. فقط نباید اجازه بدی اندازه پنل از اندازه ای که بیشتر از 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();
// 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;
}
}