当前位置:编程学习 > C#/ASP.NET >>

如何获得当前选中Textbox的ID(句柄)?

假设当前主Form有10个TextBox,我任意点击一个TextBox,弹出一个新窗口,并在新窗口的TextBox中输入“你好”,怎么才能在关闭新窗口后,把“你好” 这个字符给予之前单击的那个主Form的TextBox?

我初步的想法是不是能够记录单击时TextBox的ID或者句柄之类的变量,透过该ID来赋值。 --------------------编程问答-------------------- 使用委托
也可以 在主form的textchange事件里这样写

form2 f = new form2();
if(f.showdialog() == DialogResult.ok)
{
this.textbox1.text = f.text;
}

form2 类
public string text {get ;set ;}

form2 的textchange事件中写
text = textbox.text;

确定按钮
this.dialogresult = DialogResult.ok; --------------------编程问答-------------------- 10个textbox的click响应同一个handler
private void TextBox_Click(object sender, EventArgs e)
{
Form2 f = new Form2();
f.FormClosing += new EventHandler((sender1, e1) => {
(sender as TextBox).Text = f.TextBox1.Text;
});
f.ShowDialog();
}
纯手打 有错误自己理解 --------------------编程问答-------------------- 用不着句柄,最简单的跨窗体传值,方法很多,一搜一大堆 --------------------编程问答-------------------- http://www.cnblogs.com/cosoft/archive/2011/08/08/2130659.html
窗体间传值 --------------------编程问答-------------------- 方法我也知道很多,但想要一种高效简洁的方法。 --------------------编程问答-------------------- 给TEXTBOX加INDEX用来操作 --------------------编程问答-------------------- --------------------编程问答-------------------- http://bbs.csdn.net/topics/390128592
这东西你在论坛里搜搜就能找到很多了,关于效率,个人觉得还是等你确实掌握很多种传值方法,需要进行优化时在拿出来讨论吧。
--------------------编程问答-------------------- 先学走路,在学跑 --------------------编程问答--------------------
引用 5 楼 marklr 的回复:
方法我也知道很多,但想要一种高效简洁的方法。

高效简洁就用事件吧
在新窗口中定义一个事件 然后在主窗口中编写事件处理程序 --------------------编程问答--------------------
引用 2 楼 KimAlixRobin 的回复:
10个textbox的click响应同一个handler
private void TextBox_Click(object sender, EventArgs e)
{
Form2 f = new Form2();
f.FormClosing += new EventHandler((sender1, e1) => {
(sender as TextBox).Text = f.TextBox1.Text;
});
f.ShowDialog();
}
纯手打 有错误自己理解


f.FormClosing += new EventHandler((sender1, e1) => 这两个参数是.......,能不能解释一下? --------------------编程问答-------------------- 这个要啥效率啊,清晰明了就OK --------------------编程问答--------------------
引用 11 楼 marklr 的回复:
Quote: 引用 2 楼 KimAlixRobin 的回复:

10个textbox的click响应同一个handler
private void TextBox_Click(object sender, EventArgs e)
{
Form2 f = new Form2();
f.FormClosing += new EventHandler((sender1, e1) => {
(sender as TextBox).Text = f.TextBox1.Text;
});
f.ShowDialog();
}
纯手打 有错误自己理解


f.FormClosing += new EventHandler((sender1, e1) => 这两个参数是.......,能不能解释一下?

sender1和e1其实没用到,因为我们只关心sender。
这是一个lambda表达式哦。 --------------------编程问答-------------------- 使用委托!deleget
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,