在C#中怎么样声明全局变量?(windows application)

LivePower 2002-01-11 03:47:33
请问一下在C#怎么样声明全局变量呀,我这样写可不可以呢,public int a;这行代码是写在Application(new Form1)后面的。
另外一个form中可以去控制另一个form中的一些控件吗????
...全文
5213 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
xming076 2002-01-24
  • 打赏
  • 举报
回复
public class GVar
{
public static string szName = "";
public static int nAge = 0;
}

// 在这个类里面使用GVar类中的变量
public class MyForm : System.Windows.Forms
{
...

public void fun()
{ // 这里相当于使用全局变量(其他地方用法也一样)
GVar.szName = "Bill";
GVar.nAge = 10;
}
}
zsr7514 2002-01-24
  • 打赏
  • 举报
回复
在C#中没有全局变量这个概念,你只能定义模块级的变量.比如:
Form1:
public String m_strTemp;
Form2:
Form1 ofrmTemp = new Form1();
ofrmTemp.m_strTemp = "I am zhusr!";//这样就可以改变别的Form的变量,控件也一样,只要把.Net 中自动生成的私有private改成public就可以象m_strTemp一样访问。
还有什么.Net的问题,eml:zhusr@singlee.com.cn
juqiang 2002-01-24
  • 打赏
  • 举报
回复
哈哈,抓住一个漏洞,vb调用api简单吗?可比c中调用麻烦多了(直接写就可以了)。不够,c#中调用,也变得麻烦了,faint!
Ninputer 2002-01-24
  • 打赏
  • 举报
回复
9494,我现在也用C#
ripper 2002-01-24
  • 打赏
  • 举报
回复
弄一个简单的singleton就可以啦~
参见《设计模式》
leon_sun 2002-01-24
  • 打赏
  • 举报
回复
完全同意xming076(虚名)
wave_calmly 2002-01-23
  • 打赏
  • 举报
回复
这些功能就是C#不如VB.net的地方
==>不知者无罪
Ninputer 2002-01-23
  • 打赏
  • 举报
回复
我说得VB就是VB.net呀!你以为我说VB6呀!这些功能就是C#不如VB.net的地方,不是VB6!
BEYONDcsharp 2002-01-23
  • 打赏
  • 举报
回复
to  Ninputer(装配脑袋):你想说明什么?vb是最高效率的语言,这谁都知道。不过c#有自己的优点呀,对我来说更喜欢c#,喜欢用什么就用什么吧。更何况软件开发并不是只有开发效率这一项决定的。忘了说,我以前使用vb。我知道有很多人不了解vb而贬低他,其实vb是入门容易,要想精通也很难。
Ninputer 2002-01-23
  • 打赏
  • 举报
回复
你翻译一下:
1、
Try
Dim A,B As Integer
A = 0
B \= A
Catch e As Exception When A = 0

Catch e As Exception When B = 0

End Try
2、
Public Event Click(sender As Object, e As EventArgs)
3、
If IsDBNull(s) AndAlso InNumeric(s) Then s &= Asc(s.Chars(i))
4、
Public Funtion F(ByRef A As Integer)
End Function
..
F(3)
5、
Select A
Case 1,2,3
Case 4 To 7,6 To 9
Case 11,13, Is < -1
Case Is >55
End Select
6、
Protected Sub Btn_Click(sender As Object, e As EventArgs) _
Handles Btn1.Click, Btn2.Click, Btn3.Click, Btn4.Click, Btn5.Click, Me.Click, _
MyBase.Click

End Sub
7、
Public Sub New (A As Integer , Optional B As Integer = 1)
End Sub
8、
Do
'Do something
Loop

先看看您能不能写出比它更精炼的C#语句,然后再反汇编,看看您写的代码有没有VB编译器做得好
Foxer 2002-01-22
  • 打赏
  • 举报
回复
VB的确是不错,不过,毕竟历史是在向前走的,VB还能维持几天呢?
还是学C#吧,要是对VB情有独钟,那就学学VB.NET,对你的前程有好处的!
当然如果你不以编程为生的话,就另当别论了
BEYONDcsharp 2002-01-22
  • 打赏
  • 举报
回复
全局变量是有害的,应该用类的静态变量。就是楼上几位说的static了。vb不错呀,我以前一直用vb,不过现在用c#了。
leon_sun 2002-01-19
  • 打赏
  • 举报
回复
是的,VB是不错。VB+VC天下无敌!
kissfire 2002-01-19
  • 打赏
  • 举报
回复
VB真有这么好吗
Ninputer 2002-01-19
  • 打赏
  • 举报
回复
我推崇的是简单、高效的处理方法
VB在模块中就可以声明全局变量
VB可以改变数组的大小
VB可以自动处理参数的传递
VB可以简化事件的操作
VB可以在异常处理时返回出错区域
VB可以自动类型转换
VB包含更多函数
VB可以更快的操作接口
VB可以直接编写COM兼容类和接口
VB可以简化API的操作
这些情况,为什么非要研究C#如何实现?你手边就有VB,不要自找麻烦
LivePower 2002-01-12
  • 打赏
  • 举报
回复
哪这个类是不是单独新建一个类文件来表示,还是可以在form中直接写一个类.
但是在一个form中写的话,在其它的form中好像不可以用到些变量.
evilch 2002-01-12
  • 打赏
  • 举报
回复
同意楼上所有。
CForce 2002-01-12
  • 打赏
  • 举报
回复
看过很多Ninputer(装配脑袋)的回答都标榜vb,有必要吗?

public 就是全局了,如果你不想用在实例里就加上static。
public int a是实例的成员变量,不能放在方法里面。
如果C#不可以在form中去控制另一个form中的一些控件,那么C#还能做什么?
这么基础的东西,快看书吧。
Soft21 2002-01-12
  • 打赏
  • 举报
回复
大家好啊,这里,我学到了不少东西
Ninputer 2002-01-12
  • 打赏
  • 举报
回复
不能声明全局变量,如果想用全局变量,请用VB.net
加载更多回复(5)

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧