Winform中窗体传值问题

现有两个窗体Form1和Form2,Form1中有一个Textbox1和一个Button1(选择按钮),Form2中有一个DataGridView1绑定数据。我想实现的效... 现有两个窗体Form1和Form2,Form1中有一个Textbox1和一个Button1(选择按钮),Form2中有一个DataGridView1绑定数据。
我想实现的效果是:在Form1中单击选择按钮打开Form2,在Form2中单击DataGridView1中的一行,获得这一行的某个字段,同时关闭Form2并把所获得的值绑定到Textbox1上。(希望把思路和需要触发执行的事件写清楚,特别是在获得值后绑定到Form1中的Textbox1上这里要怎么做)
展开
 我来答
百度网友c412b0698
2011-06-29
知道答主
回答量:6
采纳率:0%
帮助的人:0
展开全部
这是两个窗体,窗体中各有一个textbox和一个button,在Form2里定义一个 公共的 静态的 变量名 ,当点击Form2中的按钮时将Form2中的 textbox值赋给定义的变量,然后利用Form1里的timer控件定时刷新Form2里定义的变量
具体代码如下,没做DataGridView的,但做法一样
//Form1的代码
//之前的一长串命名空间代码省略
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//点击button打开Form窗口
private void button1_Click(object sender, EventArgs e)
{
new Form2().Show();
}
//这是个timer控件,定时刷新Form里传过来的值
private void timer1_Tick(object sender, EventArgs e)
{
textBox1.Text = Form2.zhi;
}
}
}

//Form2的代码
//之前的一长串命名空间代码省略

namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
public static string zhi = "";//定义个变量用于传值
public Form2()
{
InitializeComponent();
}
//点击按钮把值赋给前面定义的变量
private void button1_Click(object sender, EventArgs e)
{
zhi = textBox1.Text;
}
}
}
我系C#新手,如有更好的传值方法别喷我
追问
我看到还有一种方法:把Form1的一个对象作为Form2中的一个变量,这样在得到值后就可以在Form2中直接调用Form1中的变量和方法。(如果你要的话我可以把代码贴上来)
zting816
2011-06-29
知道答主
回答量:36
采纳率:0%
帮助的人:6.8万
展开全部
可以用构造函数实现两窗体传值,给你个思路,若还不是很明白,请继续追问
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
奇怪的小妙招
2011-06-30
知道答主
回答量:57
采纳率:0%
帮助的人:21.2万
展开全部
可以试试委托和事件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式