C#中 如何从form1调用form2中定义的变量?

网上查着有些人说可以把这个变量定义为publicstaticstring;然后在form1中使用Form2.这个变量,但是我按照这个说法写了如下代码后,namespace... 网上查着有些人说可以把这个变量定义为public static string;
然后在form1中使用Form2.这个变量,但是我按照这个说法写了如下代码后,

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void bt1_Click(object sender, EventArgs e)
{
static public string name="张三";
}
}
}

在 static public string name="张三"; 这句前面那个大括号报错,提示应输入 } ,但这段程序已经不缺 } 了啊。。难道不能在类里面直接写public static 。。?
展开
 我来答
rui_xing_
推荐于2016-04-08 · 知道合伙人教育行家
rui_xing_
知道合伙人教育行家
采纳数:6306 获赞数:51261
在读博士研究生

向TA提问 私信TA
展开全部
1.你可以定义静态变量,例如public static Form1 currentForm1;
当你的Form1启动后设置这个静态变量为this。则其他地方可以通过这个静态变量访问到当前Form1对象,多个的话就用数组,队列等。
2。其他n多增内聚,降低耦合的方法,比如在Form2中保存一个Form1的引用,启动时候设置,或是添加一个公共的类保存各自的引用等等方法。
3.通过遍历Application.OpenForms找到类型为Form1的对象
卷人2f
推荐于2018-03-14 · TA获得超过1352个赞
知道小有建树答主
回答量:1044
采纳率:50%
帮助的人:728万
展开全部
反过来了,语法搞错了,应该是public static而且应该把这个变量定义在form2的
public partial class Form2 : Form
上面,就是定义成全局的,然后在show出form2的时候,窗体名.这个变量名就可以出来了。具体看下窗体传值
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
敬雅素019
2012-11-03 · TA获得超过392个赞
知道答主
回答量:263
采纳率:0%
帮助的人:194万
展开全部
建一个类,在类里面定义static public string 变量名,然后form1的值传给变量,在form2中又从类中使用form1传进去的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
larrycc
2012-11-09
知道答主
回答量:8
采纳率:0%
帮助的人:3.7万
展开全部
把变量name设为F1的属性值,f2就可以读取了
c#大概不支持局部变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhouding333
2012-11-03 · TA获得超过132个赞
知道小有建树答主
回答量:469
采纳率:0%
帮助的人:222万
展开全部
找本基础书看看吧,成员变量怎可定义在函数里面的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式