PDA

View Full Version : عدم نمایش کنترل های ایجاد شده از طریق کد در فرم



csharpdoost
پنج شنبه 22 دی 1390, 15:03 عصر
Form1 frm1 = new Form1();
System.Windows.Forms.Label label = new System.Windows.Forms.Label();
string labeltxt = "label";
for (int q = 3; q < 30; q++)
{
label.Name = labeltxt + q.ToString();
label.Text = label.Name;
label.AutoSize = true;
frm1.Controls.Add(label);
label.Visible = true;

}

چیزی روی فرم1 نشون داده نمیشه چرا؟

gwbasic
پنج شنبه 22 دی 1390, 15:13 عصر
بهتر بود عنوان فرم رو به صورت زیر می نوشتید:
"عدم نمایش کنترل های ایجاد شده از طریق کد در فرم"

دو مورد رو رعایت نکردید
1- برای label باید Location باید مشخص کنید که کجا نمایش داده بشه
2- label‌رو داخل حلقه new کنید

csharpdoost
پنج شنبه 22 دی 1390, 15:23 عصر
Form1 frm1 = new Form1();
string labeltxt = "label";
for (int q = 3; q < 30; q++)
{
System.Windows.Forms.Label label = new System.Windows.Forms.Label();
label.Name = labeltxt + q.ToString();
label.Text = label.Name;
label.Location.X = 10;
label.Location.Y = 20;
label.AutoSize = true;
frm1.Controls.Add(label);
label.Visible = true;

}
کد رو به اینصورت تغییر دادم ولی به location خطا میده نتونستم رفع خطا کنم .

gwbasic
پنج شنبه 22 دی 1390, 15:34 عصر
ای داد بی داد!!! چرا اینطوری؟


lable.Location = new Point(10, 20);

ولی اینطوری هم همه کنترل ها روی هم می افتند!


string labeltxt = "label";
int y = 0;
for (int q = 3; q < 30; q++)
{
System.Windows.Forms.Label label = new System.Windows.Forms.Label();
label.Name = labeltxt + q.ToString();
label.Text = label.Name;
y += 25;
label.Location = new Point(10, y);
frm1.Controls.Add(label); label.Visible = true;
}

csharpdoost
جمعه 23 دی 1390, 09:32 صبح
کد رو باز هم تغییر دادم اما دریغ از نمایش یک لیبل :

Form1 frm1 = new Form1();

string labeltxt = "label";
int y = 0, x = 0;
for (int q = 3; q < 30; q++)
{
System.Windows.Forms.Label label = new System.Windows.Forms.Label();
label.Name = labeltxt + q.ToString();
label.Text = label.Name;
y += 25;
x += 30;
label.Location = new System.Drawing.Point(x, y);
label.AutoSize = true;
frm1.Controls.Add(label);
label.Visible = true;

}

nunegandom
جمعه 23 دی 1390, 09:39 صبح
با سلام
اینم یه برنامه ناقص، ولی قسمته لیبلی که میخای توش هست

csharpdoost
جمعه 23 دی 1390, 10:13 صبح
با تشکر از nunegandom اما راه حلی قبلی اگه رفع اشکال بشه خیلی راحت تره.

csharpdoost
جمعه 23 دی 1390, 11:38 صبح
با تشکر از همگی اشکال در اضافه کردن لیبل به فرم1 است

int x = 0, y = 0;

for (int t = 0; t < 10; t++)
{
x += 10;
y += 60;
Label lbl = new Label();
lbl.Location = new Point(x, y);
lbl.Text = "btn" + t.ToString();
lbl.Name = "btn" + t.ToString();
lbl.BackColor = System.Drawing.Color.Black;
lbl.AutoSize = true;
this.Controls.Add(lbl);
lbl.Visible = true;

}