c# winform 定义变量的问题

我有一个form1,是mdiparent
有一个form2,有一个变量a;在程序运行时会给变量a赋值,关闭form2后,我打开form3,需要form2的那个a的值怎么调用?
关闭form2是不是a就等于0了,有没有为整个程序设一个变量的方法??
有的话在哪里设??请指教
ThinkIBM 的方法不对,我试过了,不能在from2里建立一个class
(应该说是spacename里),但还是感谢你

第1个回答  2007-09-23
且不说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"
而且你可以改变它的值本回答被提问者采纳
第2个回答  2007-09-23
汗,谁让你在Form2.cs里创建Class了?
你在项目里新建一个CS文件,和Form2放在一个命名空间就可以了,
然后在所有的Form里都可以用:myVal.a
来访问

没有为整个程序设一个变量的方法,你可以创建一个类,给它定义一个静态成员变量或属性就行了
public class myVal{
public static string a = "ttt";
}

那么调用时,就
MessageBox.Show(myVal.a);
第3个回答  2007-09-25
今天又仔细看了一下你提的问题。
当你关闭FORM2时,变量A也自动回收。并不是你所说的为0.
你要是想让整个程序都能访问他,那么就需要一数据池。
新建一个类StaticValuesClass(名称自己起咯)
,在类中定义 静态变量a(public static int a)
那么你在FORM2中可以StaticValuesClass.a这样来使用变量a
当你关闭掉FORM2时,此变量并不改变。
在FORM3中也如上一样引用变量。
第4个回答  2007-09-23
在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句是抄回答者:花儿睡觉 - 见习魔法师 三级的,我懒得写了
大概就是这样
第5个回答  2007-09-23
你的意思是不是

在form2窗体上有个 关闭按钮 点它的同时 打开form3关闭form2 让form3得到form2中的a变量的值?

如果是这样!我教你个办法!
给form3加一个带参数的‘构造方法’。
form3 f=new form3('a的值')
f.show();
这样不就过去了!

如果不是我说的那样。就按1,2楼说的做。也可以!

关于在c# winform 中定义全局变量的问题
C#中是没有所谓的全局变量的.要构造出类的属性作为全局变量 可以在GlobalParams 写:public static string user = ""; \/\/定义变量 public GlobalParams (){ user ="abcd";\/\/赋值构造 } public string User { get { return user ;} set { user =value;} 这样就可以其他窗体访问此User Message...

c# winform 定义变量的问题
public static string a= ""; \/\/定义变量 public mdiparent (){ a="abcd";\/\/赋值构造 } public string A { get { return a;} set { a=value;} 在form3里 MessageBox.Show (mdiparent .A); \/\/直接访问. 显示.结果:"abcd"而且你可以改变它的值 ...

c# winform 关于绘图的问题,如何定义一个Graphics g作为全局变量
你这样试试 我的就是这样做的。新建一个Bitmap,bmp为全局变量,然后再画 bmp = new Bitmap(this.Width, this.Height);using (Graphics g = Graphics.FromImage(bmp)){ pictureBox1.Image = bmp;} 只要用到g的时候 就 这样写 using (Graphics g = Graphics.FromImage(bmp)){ 中间是你的...

c# 怎样定义整个程序每个窗口都可以访问的变量?
1. 你说的“每个窗口都可以访问的变量”是指全局变量,在C#中是靠静态类的静态域来实现的,比如定义以下的类:public class MyContext { public static string MyContextVar="HELLO";} 在任何一个窗体中只需要MyContext.MyContextVar就可以获得这个“HELLO”。不过这只是一个简单的例子,这样不是线程...

在C# 中winForm 中,定义结构,struct。并用List<>来弄这个结构,但使用时...
很明显,就是将b[i]中的struct赋给临时变量,而这个赋值过程是值拷贝(struct是值类型).值拷贝是内存复制,所以当赋值100时,只更改临时变量,而不会改变LIST中的元素所指向的内存。C#为了避免这个问题和C#的严谨,所以在编译时作为错误处理。也就是说,只要T类型是struct他就有特别待遇,虽然代码表面...

Winform、C#中的一些问题
你可以定义一个窗体级的布尔变量作为循环的条件,如bool isrun = false;,点击开始的时候isrun置成true然后用一个while(isrun )循环来,同时从0开始到第一步所产生数组的元素个数做一个随机数,然后根据这个随机数到数组里取值,最后显示姓名、学号和图片,同时需要增加一个睡眠时间,这样不至于循环的...

C#winform的窗体在关闭后,窗体变量为什么不为空啊
一个是窗体类对象控制的windows 窗口。窗体类封装了对 windows 窗口的操作,比如show()显示窗口,close() 关闭窗口。所以当使用 close() 关闭窗口,其实是销毁并释放了 windows 窗口相关的资源。而控制这个 window 窗口的窗口类对象还是存在的,类对象中的变量还是与普通类对象一样,没有什么特别的。

winform静态什么意思
比如,在WinForm应用中,我们可能会需要定义一个全局的数据库连接字符串,这个字符串在整个程序运行过程中始终保持不变,这就是一个静态数据的典型使用场景。定义静态变量时,我们通常会在类的静态域中定义,以确保这个变量在整个程序运行过程中仅有一个实例。而动态数据则是指程序运行过程中可以变化的数据...

C#调用到全局变量是空?再上一个按妞事件了赋值了 但是在下一个按钮...
通过代码来看,你要确认,你赋值的moudidvalues所归属的实例要和你其他地方调用的是同一个实例,否则你应该使用static这种关键字,在asp.net中得慎用

用C#中的winform做一个数独。只要显示一个题目就行
4、声明字符串变量时未赋空值就应用变量。5、未用new初始化对象。6、Session对象为空。7、对控件赋文本值时,值不存在。8、使用Request.QueryString()时,所获取的对象不存在,或在值为空时未赋初始值。9、使用FindControl时,控件不存在却没有做预处理。10、重复定义造成未将对象引用设置到对象的实例...

相似回答
大家正在搜