c# winform 定义变量的问题
我有一个form1,是mdiparent有一个form2,有一个变量a;在程序运行时会给变量a赋值,关闭form2后,我打开form3,需要form2的那个a的值怎么调用...
我有一个form1,是mdiparent
有一个form2,有一个变量a;在程序运行时会给变量a赋值,关闭form2后,我打开form3,需要form2的那个a的值怎么调用?
关闭form2是不是a就等于0了,有没有为整个程序设一个变量的方法??
有的话在哪里设??请指教
ThinkIBM 的方法不对,我试过了,不能在from2里建立一个class
(应该说是spacename里),但还是感谢你 展开
有一个form2,有一个变量a;在程序运行时会给变量a赋值,关闭form2后,我打开form3,需要form2的那个a的值怎么调用?
关闭form2是不是a就等于0了,有没有为整个程序设一个变量的方法??
有的话在哪里设??请指教
ThinkIBM 的方法不对,我试过了,不能在from2里建立一个class
(应该说是spacename里),但还是感谢你 展开
5个回答
展开全部
且不说IBM的方法对不对,你理解起来偏差太大了...在form里创建类...哎不说了,这个问题你可以使用属性来做.
可以在from2写:
public static string a= ""; //定义变量
public mdiparent ()
{
a="abcd";//赋值构造
}
public string A
{
get
{
return a;
}
set
{
a=value;
}
在form3里
MessageBox.Show (mdiparent .A); //直接访问. 显示.结果:"abcd"
而且你可以改变它的值
可以在from2写:
public static string a= ""; //定义变量
public mdiparent ()
{
a="abcd";//赋值构造
}
public string A
{
get
{
return a;
}
set
{
a=value;
}
在form3里
MessageBox.Show (mdiparent .A); //直接访问. 显示.结果:"abcd"
而且你可以改变它的值
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
汗,谁让你在Form2.cs里创建Class了?
你在项目里新建一个CS文件,和Form2放在一个命名空间就可以了,
然后在所有的Form里都可以用:myVal.a
来访问
没有为整个程序设一个变量的方法,你可以创建一个类,给它定义一个静态成员变量或属性就行了
public class myVal{
public static string a = "ttt";
}
那么调用时,就
MessageBox.Show(myVal.a);
你在项目里新建一个CS文件,和Form2放在一个命名空间就可以了,
然后在所有的Form里都可以用:myVal.a
来访问
没有为整个程序设一个变量的方法,你可以创建一个类,给它定义一个静态成员变量或属性就行了
public class myVal{
public static string a = "ttt";
}
那么调用时,就
MessageBox.Show(myVal.a);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
今天又仔细看了一下你提的问题。
当你关闭FORM2时,变量A也自动回收。并不是你所说的为0.
你要是想让整个程序都能访问他,那么就需要一数据池。
新建一个类StaticValuesClass(名称自己起咯)
,在类中定义 静态变量a(public static int a)
那么你在FORM2中可以StaticValuesClass.a这样来使用变量a
当你关闭掉FORM2时,此变量并不改变。
在FORM3中也如上一样引用变量。
当你关闭FORM2时,变量A也自动回收。并不是你所说的为0.
你要是想让整个程序都能访问他,那么就需要一数据池。
新建一个类StaticValuesClass(名称自己起咯)
,在类中定义 静态变量a(public static int a)
那么你在FORM2中可以StaticValuesClass.a这样来使用变量a
当你关闭掉FORM2时,此变量并不改变。
在FORM3中也如上一样引用变量。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在form1 中定义一个变量passOfA,用来存 a的值;
form2 在创建时候把form2的值存在form1的变量passOfA中,
然后 打开 form3时候,调用带参数的构造函数。
基本代码如下:
注代码是在form1中 假设 a是 int
public int passOfA;
在 form2.show();
this.passOfA=form2.a; //把a定义为form2的类变量
然后 给form3加一个带参数的‘构造方法’。
form3 f=new form3('a的值')
f.show();
最后2句是抄回答者:花儿睡觉 - 见习魔法师 三级的,我懒得写了
大概就是这样
form2 在创建时候把form2的值存在form1的变量passOfA中,
然后 打开 form3时候,调用带参数的构造函数。
基本代码如下:
注代码是在form1中 假设 a是 int
public int passOfA;
在 form2.show();
this.passOfA=form2.a; //把a定义为form2的类变量
然后 给form3加一个带参数的‘构造方法’。
form3 f=new form3('a的值')
f.show();
最后2句是抄回答者:花儿睡觉 - 见习魔法师 三级的,我懒得写了
大概就是这样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的意思是不是
在form2窗体上有个 关闭按钮 点它的同时 打开form3关闭form2 让form3得到form2中的a变量的值?
如果是这样!我教你个办法!
给form3加一个带参数的‘构造方法’。
form3 f=new form3('a的值')
f.show();
这样不就过去了!
如果不是我说的那样。就按1,2楼说的做。也可以!
在form2窗体上有个 关闭按钮 点它的同时 打开form3关闭form2 让form3得到form2中的a变量的值?
如果是这样!我教你个办法!
给form3加一个带参数的‘构造方法’。
form3 f=new form3('a的值')
f.show();
这样不就过去了!
如果不是我说的那样。就按1,2楼说的做。也可以!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询