如何传递动态添加控件的文本内容?
我动的添加TextBox、LinkLabel且它们是成组添加如form1添加时命名为:
textBox01、linkLabel01
textBox02、linkLabel02
textBox03、linkLabel03
....
如何当点击LinkLabel时传递对应的TextBox中的文本到form2中?
我的代码(摘其中几句)
TextBox Bill = new TextBox();
LinkLabel Memo = new LinkLabel();
...
Memo.Click += new EventHandler(Memo_Click);
这是点击时引发事件
void Memo_Click(object sender, EventArgs e)
{
}
请前辈详细指点,最好能给测试通过的源码,非常感谢! --------------------编程问答-------------------- linkLabel01的tag属性设置为 textBox01,这样点击lable时,(linklable01.Tag as TextBox).Text = xxxxx --------------------编程问答--------------------
老兄,我是动态添加的!!!静态的我会做了!能否用委托的方法来做? --------------------编程问答-------------------- 有朋友指点吗? --------------------编程问答-------------------- 废话,知道你是动态添加的,tag设置为动态添加的textbox不就是了 --------------------编程问答-------------------- 把TextBox、LinkLabel做成一个用户控件
--------------------编程问答-------------------- 我不解了..你动态添加的时候不能设置tag么?
Button btn = new Button();
LinkLabel link = new LinkLabel();
link.Tag = btn.Text;
点击事件里:
LinkLabel link = (LinkLabel)sender;--------------------编程问答--------------------
link.tag.ToString();//这不就是你要的值?
public Form1()
{
InitializeComponent();
this.DoubleBuffered = true;
this.SuspendLayout();
for (int i = 0; i < 10; i++)
{
TextBox txt = new TextBox();
txt.Dock = DockStyle.Top;
txt.Text = txt.Name = String.Format("txt{0}", i);
LinkLabel lbl = new LinkLabel();
lbl.Dock = DockStyle.Top;
lbl.Text = lbl.Name = String.Format("lbl{0}", i);
lbl.LinkClicked += (sender, e) => { MessageBox.Show(((sender as LinkLabel).Tag as TextBox).Text); };
lbl.Tag = txt;
this.Controls.Add(txt);
this.Controls.Add(lbl);
}
this.ResumeLayout();
}
补充:.NET技术 , C#