在C#中怎么设置一个全局变量。方便我在其他的窗口中可以调用,比如我在主窗口中要根据用户名来查找内容,那怎么在登入窗口中设置一个变量,是它的值为用户名呢,然后可以在其他的窗口中使用?请大虾们赐教

解决方案 »

  1.   

    把你的变量放在一个public的类中,然后把变量设为public static访问的时候通过类.变量
      

  2.   

    你无非就是想要用到用户名,大可以用session来保存,如果一定要用这种全局变量.
    好就用二楼的方法,定义一个公共类,登入的时候付值,而后使用的时候取,最好是定义static
    这样可以直接调用,没有的话就需要每次调用都需要实例化
      

  3.   

    在 session里或者在aplication中设置
      

  4.   

    在某个类中定义静态变量。都访问即可。
    public class Config
    {
        public string User;
    }
      

  5.   

    也可以  定义为static 的
      

  6.   

    2楼的方法倒是在C/S里面很常用的哈。不过B/S也可以用哈。
      

  7.   

    用户名这样的信息用全局变量来保存不好吧
    万一多人登录呢,那不都乱覆盖了?
    记录登录信息还是session或者cookie吧
      

  8.   

    这个可能会帮到你
    一个类Student下
    private static string name;
    public String Name
    {
    get{return name;}
    set{name=value}
    }
    form1中的text1的值传给form2中的text2
    form1:
    Student stu=new Student();
    stu.Name=form1.textbox1.text;
    form2:
    Student stu1=new Student();
    form2.textbox2.text=stu1.Name;
    如果是网页也可以
      

  9.   

    要是web的把变量放在web.config里,窗体的,放在app.config里,
    <appSettings>
    <add key="keyName" value="ValueName" />
    </appSettings>在要用到变量的页面,或者类里using System.Configuration;ConfigurationManager.AppSettings["keyName"].ToString();
    就是你的全局变量
      

  10.   

    http://www.cnblogs.com/cuihongyu3503319/archive/2009/02/23/1396653.html
      

  11.   


    看到回复才发现漏写了static。囧
      

  12.   


    用session 或者 Cookie 
     14楼的也好
      

  13.   

    定义一个公共类
    在公共类里定义一个public静态变量
    在登录时将用户名付给这个变量
    在任何地方都可调用这个类的静态变量
      

  14.   

    CS程序肯定有个主窗口(假定主窗口名称为:MainForm)
    你在这个主窗口中定义:public static 数据类型 全局变量名称以后再其他窗口中就可以直接用 MainForm.全局变量名称
    来直接调用这个全局变量
      

  15.   

    public static string str;
      

  16.   

    取决于要怎么用了,如果只对当前用户就用SESSION或COOKIE如果你要让所有用户都可以访问就用Appliaction了
      

  17.   

    在某个类中定义静态变量
    public class Config
    {
      public  Static string User;
    }
      

  18.   

    public class CeShiMethod
    {
      public static string Str01;// 定义
    }
    public class CeShiMethod01
    {
      CeShiMethod.Str01;//获取
    }
      

  19.   

    一般情况下:
      窗体项目:在主窗口中使用public static 数据类型 全局变量名称;在其他窗口中就可以直接用 主窗口.全局变量名称 来直接调用这个全局变量
       web项目:用Session或cookie
      

  20.   

    放到数据库的方法,不可取,因为每次读取麻烦不说,主要是影响效率。
    方法是:
    1、如果是asp.net 用session或者cookie
    2、如果是Winform,用静态类+静态变量 ok
      

  21.   


    无语。窗体项目能用session吗?不知是我知识浅薄,还是能用session当然好了,谁能告诉我窗体项目怎么用session!!!
      

  22.   

    用ViewState[""]的类型,或者在protected void Page_Load(object sender, EventArgs e)上定义变量,或者设置一个隐藏控件,然后读取
      

  23.   

    用静态 用户类
    cs 不存在多用户覆盖问题,感觉CSDN 越来越浮躁了
      

  24.   

    静态全局变量就可以了 public static userName; 添加Get和Set方法.
      

  25.   

    用这个种的Aplication可以实现!
      

  26.   

    lz你可能混淆了全局变量的概念,全局变量并不是在每个页面都可以直接用的,他同样属于一个页面,而要使用这个变量就要使用这个页面,建议你用session,或者可以使用页面传值给主页面
      

  27.   

    C/S程序可以在Program.cs文件中设置一个静态变量
    B/S程序可以在SEssion中保存值,占服务器资源.也可以保存在Cookies中
      

  28.   

    C/S程序可以在Program.cs文件中设置一个静态变量
    B/S程序可以在SEssion中保存值,占服务器资源.也可以保存在Cookies中
      

  29.   

    好肤浅的回答,
    CS中静态变量就是 const static readonly
    bs中可以用application session 但session 容易丢
      

  30.   

    session appsetting 公共类
      

  31.   

    搞一个公共类,之后生成一个dll,以后每次调用就好了!
      

  32.   

    建个静态类,public static pub
    {
        public static string gVar { get; set; }
    }调用时: 
    pub.gVar="sdfasdsf";
    button1.text=pub.gVar;
      

  33.   

    public static如果一个变量的话,使用this.tag,哈哈
      

  34.   

    public statichttp://www.abab123.com/bbs/down.asp?html=1438240
    在这里找找,可能对你有帮助
      

  35.   

    不能用static   无论你是在类里面声明static还是在当前页面声明static,  大家可以了解一下static的机制,static在服务器内存中只能生成一个副本,而作为用户名   当很多个用户同时操作的时候你怎么办?互相覆盖啊?!(总之是绝对会造成问题的)你可以用Session,viewstate,application等也千万不要用static!!!
      

  36.   

    不能用static   无论你是在类里面声明static还是在当前页面声明static,  大家可以了解一下static的机制,static在服务器内存中只能生成一个副本,而作为用户名   当很多个用户同时操作的时候你怎么办?互相覆盖啊?!(总之是绝对会造成问题的)你可以用Session,viewstate,application等也千万不要用static!!!
      

  37.   

    不能用static   无论你是在类里面声明static还是在当前页面声明static,  大家可以了解一下static的机制,static在服务器内存中只能生成一个副本,而作为用户名   当很多个用户同时操作的时候你怎么办?互相覆盖啊?!(总之是绝对会造成问题的)你可以用Session,viewstate,application等也千万不要用static!!!
      

  38.   

    如果是asp同意楼上。否则以上方法都可以。要直接方便可以用类,设置static变量。当然也可以从数据库读。感觉慢可以建个文件读取。
      

  39.   

    建议做一个类 在类里设置 这样在任何的地方都可以调用 下面是一个例子
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data;
    using System.Data.SqlClient;namespace _test
    {
        public class SqlBase //此处为类名称
        {
            public static string username;
            public static string qx;
            public static string dwmc;
            public static string ip;
        }
     窗体调用位置里直接进行调用 如
    label1.Text=SqlBase.username
    label2.Text=SqlBase.dwmc
      

  40.   

    +1在类中定义静态变量 public static
    别的类可以调用
      

  41.   

    在类中定义为  public 其他地方就可以访问了,可以定义为static
      

  42.   

    所以我觉得用public static class这个方法不行啊