C#中 如何跨窗体传值 例题: 将form2中 checkBox的状态 在form1中反映出来 感觉c这个变量根本不管用

Form1中的值:privatevoidForm1_Load(objectsender,EventArgse){Form2f2=newForm2();if(f2.c!="... Form1中的值:
private void Form1_Load(object sender, EventArgs e)
{
Form2 f2 = new Form2();
if (f2.c != "")
{
MessageBox.Show(c.toString());
}
}

private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.Show();
}

Form2中的值:
public string c ="";
private void button1_Click(object sender, EventArgs e)
{
if (checkBox1.Checked)
{
c = "checkBox1.Text";
}
}
展开
 我来答
百度网友ae3233c
2012-12-06 · TA获得超过1175个赞
知道小有建树答主
回答量:1329
采纳率:0%
帮助的人:475万
展开全部
不是c这个变量不管用, 你要先明白为什么在你的 Form1_Load 里 f2.c 的值总是为空字符串.

你打开一个Form2 然后设置了checkBox1, c的值变了, 可是这并不会影响到你在 Form1_Load 里那个 f2.c, 因为这个 Form2 f2 = new Form2() 里的 f2 是一个新的单独的 Form2, 跟你改变了 checkBox1 的那个 Form2 不是同一个实例.

面向对象的概念, 你应该是还没懂.

会调试不? 如果会的话, 在 public string c = ""; 这句上打个断点, 然后运行程序(或者直接 F11 单步调试), 好好看纯衡看一步步到底都做了什么, 你信芦会明白的.

要达到你如题所述的要求, 最简单的实现方式是, public string c = ""; 修改为 public static string c = ""; 用静态变量, 这个不解释了, 自己看书吧.

这种方法简单, 你可以先这么用, 但等你学习深入了, 就不建议用静态变量来实现这个功能, 可以实现的方式太多, 但原理都一样, 就是要把这个共用的东西, 剥离出对象, 这个你以后会懂, 现在解做坦做释不清, 学习总是一步一步深入的.
litterrr123
2012-12-06
知道答主
回答量:5
采纳率:0%
帮助的人:7747
展开全部
新建一个类申请变量 (把变量银余公开《公开关键字'public‘ 》) 然后 把你要接收汪搭的值用新建的类接收在作用于另一个窗体

新建类
{
比如: public string a;
}

a="你要传的值";

if(a!="困搏拿")
{
(就怎么样!!!!)
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8fbee656e8
2012-12-10 · TA获得超过1328个赞
知道小有建树答主
回答量:578
采纳率:68%
帮助的人:188万
展开全部
不管用?我笑了.
你给的这渗野是个例子,是告诉你思想。
两个窗体间通过c这个变量猜纤来传递想要的值,起一穗喊仿个过渡的作用。
这只是一个简单例子.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
6584422
2012-12-07 · TA获得超过1754个赞
知道小有建树答主
回答量:157
采纳率:100%
帮助的人:87.1万
展开全部
我不知道你这到底是要做什么,而且也看不出拦橘来。

如果你需要在Form1中 使用 Form2中的变量,可以,这样做就可以。

如果你想,在当你在Form2中点击Button后,Form1就可以弹出并显示C的值的话,唯衡敏那么你得在Form的load里面去设置C的值!

按照你现在的代码指枝逻辑来说,可以在给C赋值的动作下面,添加一行this.close();
试试
来自:求助得到的回答
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
星照大地
2012-12-06
知道答主
回答量:37
采纳率:0%
帮助的人:11.1万
展开全部
可以用一个公共类声明个变量,用这个变量接收form2中的值,在赋给form1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式