C# Form编程时,有两个窗体form1显示查询数据结果,点击一个按钮新建一个form2并显示form1中的某个结果

其实就是希望能使窗体之间的一些值能够相互传递和使用,有高手能帮下吗?先谢谢了。。... 其实就是希望能使窗体之间的一些值能够相互传递和使用,有高手能帮下吗?先谢谢了。。 展开
 我来答
huanghao808
2011-03-03 · 超过16用户采纳过TA的回答
知道答主
回答量:121
采纳率:100%
帮助的人:85.4万
展开全部
第一个窗体 From1 第二个 From2
按钮单击事件
From2 f2=new From2();
f2.GetB(this);
f2.show();
然后在写两个方法用来接受和传递
public void SetA(string str) //用途第二个窗体来设置第一个窗体的至
{
this.txtbox.text=str
}
public string GetA()//用途将第一个窗体值传给第二个窗体
{
return this.txtbox1.Text
}

现在写第二个窗体
定义一个成员字段
private From1 f1;
//定义一个公有方法接受传过来的第一个窗体
public void GetB(From1 f1)
{
this.f1=f1;
this.txtbox2.Text=f1.GetA();
}
按钮事件里写
f1.SetA(this.txtbox2.Text);

基本上就这样 最适合新手的了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
luck_bird
2011-02-20 · TA获得超过161个赞
知道小有建树答主
回答量:85
采纳率:0%
帮助的人:118万
展开全部
一般做法是在form2中新增一个带参数的构造方法,new一个新的form2时,把要显示的数据通过参数传进去。
public class form2
{
public form2(strinb abc)
{
this.label1.Text = abc;
}
}

在form1中这样调用
form2 frm = new form2("abcdefg");
frm.Show();

当然还有通过回调,委托等方式获得,属性直接赋值的方式传递的,慢慢研究吧。 网上找下已有项目的源码来研究学习会比较好。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ahao1001
2011-02-21 · TA获得超过2269个赞
知道小有建树答主
回答量:396
采纳率:0%
帮助的人:364万
展开全部
方法1 为form2添加带参数的构造函数。

方法2:将希望在form2中显示的值设为form1的public static变量,在form2中可进行读取。

方法3:在其他地方保存此变量,如注册表,配置文件,或写入文件。

方法4:写一个储存临时变量的类,form1负责写,form2负责读。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
凌空若__涵
2011-02-20 · 超过41用户采纳过TA的回答
知道小有建树答主
回答量:134
采纳率:0%
帮助的人:95.7万
展开全部
创建一个 类文件 将其命名为 Results.cs
.............
public static string strResult;
............
窗体form1中的 实现代码是
Result.strResult="form1中的值"
form2 中调用 Result.strResult 。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
klcam66
2011-02-21 · TA获得超过219个赞
知道答主
回答量:148
采纳率:0%
帮助的人:120万
展开全部
我以前为了弄清委托和事件,自己也写过两个窗体间传信息的例子,把你的邮箱告诉下吧,我发给你看下
还有你说的“在Form2中一个按钮的单击事件中调用Form1的Form1_Load 事件”,就不是就是在From2中点按钮时,From1显示出来呢??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式