PDA

View Full Version : سوال: دريافت خاصيت تكست كنترلي كه در RunTime ساخته شده



mha048
دوشنبه 20 تیر 1390, 12:14 عصر
سلام
دوستان من به وسيله كد زير تونستم در ران تايم به تعداد دلخواه تكست باكس ايجاد كنم حالا مي خوام خاصيت تكست اين تكست باكسهايي كه در ران تايم ايجاد شده اند رو بگيرم و در مثل يك Message Box نشون بدم
ممنون مي شم اگه راهنمايي كنيد


TextBox txt = new TextBox();
Point p = new Point(572, Ysizetxt);
txt.Size = new System.Drawing.Size(127, 20);
txt.Name = strtxtName;
txt.Location = p;
Control[] cont = new Control[] { txt };
Controls.AddRange(cont);

mehrdad1261
دوشنبه 20 تیر 1390, 12:42 عصر
سلام دوست عزیز
این کدی که نوشتم شاید کد بهینه ای نباشه ولی جواب سوالت رو میده

private void button2_Click(object sender, EventArgs e)
{

TextBox txt = new TextBox();
Point p = new Point(572, 100);
txt.Size = new System.Drawing.Size(127, 20);
txt.Name = "asdf";
txt.Location = p;
Control[] cont = new Control[] { txt };
Controls.AddRange(cont);
txt.Click += new System.EventHandler(txt_click);
}

private void txt_click(object sender, EventArgs e)
{
TextBox t= (TextBox)sender;
label1.Text = t.Text;
}

برای textbox اول یک EventHandler ساختم . که هر وقت روی آن کلیک کنی اجرا میشه .
بعدش به وسیله sender متنش رو بدست آوردم .
کد زیاد جالبی نیستش و بهتر میشه نوشت . ولی کمکت میکنه .

sinashahab
دوشنبه 20 تیر 1390, 15:42 عصر
ببين خوبه : دو تا راه ديگه براتون نوشتم:


private void Form1_Load(object sender, EventArgs e)
{
TextBox txt = new TextBox();
txt.Size = new System.Drawing.Size(127, 20);
txt.Name = "sina";
txt.Location = new Point(10, 10);
Controls.Add(txt);
txt.Click += new System.EventHandler(txt_click);
}

private void txt_click(object sender, EventArgs e)
{
Control t = Controls["sina"];
this.Text = t.Text;

// YA

TextBox te = (TextBox)Controls["sina"];
this.Text = te.Text;
}