`
ayaya
  • 浏览: 453854 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

C#全局变量的使用方法

阅读更多
C#应用程序中.用户登陆后.比如要把用户名,用户等级,用户IP地址等等记录到变量中.我们需要使用到全局变量.就跟ASP网站中登陆后使用SESSION,COOKIE的原理是一样的.有一种方式总可能会记录下用户登陆的信息,C#中用到的是自定义一个类.其中定义静态变量来实现的,下面是使用的部分代码:
//定义类GlobalUserClass.CS 类代码
using System;
using System.Net;
namespace EP_MIS
{
/// <summary>
/// ProcessUserClass 的摘要说明。
/// </summary>
public class GlobalUserClass
{
 
  private static string HostIPAddress="";
  private static string CurrentUserName="";

  public GlobalUserClass()
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
  
   // 在此处放置用户代码以初始化页面
  
  }
 
  public static string GlobalUserIP
  {
   get
   {
    if (HostIPAddress=="")//如果没有创建,就创建一个新的  
    {  
     IPHostEntry   oIPHost=Dns.Resolve(Environment.MachineName);  
     if(oIPHost.AddressList.Length>0)  
      HostIPAddress=oIPHost.AddressList[0].ToString();
    }
    else
    {
     HostIPAddress="";
    }
    return HostIPAddress;
   }
  }

  public static string GlobalUserName
  {
   get
   {
    return CurrentUserName;
   }
   set
   {   
    CurrentUserName=value;
   }
  } 
}
}


//在登陆的主窗体界面实例化这个类.并在用户登陆成功后将登陆后的用户名等等参数传给类.然后在其他的窗体中就可以直接使用类似"类名称.类中的全局静态变量名"来调用此全局的变量数值.

public GlobalUserClass myclass=new GlobalUserClass();

  public MainForm()
  {
   //
   // Windows 窗体设计器支持所必需的
   //
   InitializeComponent();

   //
   // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
   //
  }
//按钮事件中关键代码

if(dbUserName==inputUserName)
     {      
     
      MessageBox.Show("用户当前登陆成功","登陆成功");     
      GlobalUserClass.GlobalUserName=inputUserName;
//this.textBox3.Text=GlobalUserClass.GlobalUserName;
      SoftUserContactForm form2=new SoftUserContactForm();
      this.groupBox1.Visible=false;
      form2.Show();

     }
     else
     {
   
      MessageBox.Show("用户当前登陆失败","登陆成功");
     }



//别的窗体中调用
textBox1.Text=GlobalUserClass.GlobalUserName;
分享到:
评论

相关推荐

    Asp.net及C#全局变量使用方法汇总

    Asp.net及C#全局变量使用方法汇总

    C# WinForm通过全局变量实现不同窗体之间传值的解决方案的源码.rar

    C# WinForm通过全局变量实现不同窗体之间传值的解决方案的源码

    C#将全局变量的字符串变为函数参数

    1. **全局变量**:在C#中,全局变量是指在类或结构的成员级别声明的变量,它们在整个程序执行期间都存在,并且可以在类或结构的任何方法中访问。全局变量的一个主要缺点是可能导致代码难以维护,因为它们可以被任何...

    Unity3D教程:成员变量和全局变量1

    Unity3D教程:成员变量和全局变量在函数外面定义的变量叫做成员变量,它们能够通过Unity的检查器进行访问,存储在成员变量中的值将自动地保存在项目中。}使用

    C#命名规范 可以看看

    - C#不鼓励使用匈牙利命名法(例如,在变量名前加上数据类型缩写)。虽然有时仍然可以看到这种做法,但现代编码实践中已不再提倡。 4. **简洁与明确**: - 名称应尽可能简洁明了,避免冗余或过于复杂的名称。 - ...

    C#中静态变量的使用

    4. 共享方式:静态变量是全局变量,被所有类的实例对象共享,即一个实例的改变了静态变量的值,其他同类的实例读到的就是变化后的值;非静态变量是局部变量,不共享的。 5. 访问方式:静态成员不能访问非静态成员;...

    详细分析ASP.NET Razor之C# 变量

    本文将深入探讨在ASP.NET Razor中如何使用C#变量,以及相关的数据类型、运算符和数据转换。 首先,变量在C#中是用来存储数据的容器。每个变量都有一个特定的类型,它决定了该变量可以存储哪种类型的数据。例如,`...

    c++通过结构体(struct)全局变量在多线程中传递参数

    目标:在一个线程运行的时候,主程序或者另一个线程,通过改变全局变量实时改变目标变量的做法,比如这里,楼主也就是我,为了在树莓派上运行一个tcp结构的客户端线程,并通过摄像头线程收集的数据实时的通过tcp客户端线程...

    用全局变量实现程序暂停/继续控制

    总的来说,使用全局变量实现程序的暂停/继续功能是一种常见的方法,但也需要注意它带来的潜在问题,比如代码的可读性和可维护性。在实际编程中,考虑使用更高级的设计模式,如信号量、条件变量等,可能会带来更好的...

    asp.net全局变量的实例方法

    本文将详细介绍两种在ASP.NET中创建和使用全局变量的方法。 ### 方法一:通过Web.config配置文件 Web.config文件是ASP.NET应用程序的核心配置文件,它允许开发者设置各种配置选项,包括定义全局变量。以下是如何...

    C#三种窗体之间传值全局变量、构造函数、委托

    本篇文章将详细介绍三种在C#窗体间传递值的方法:全局变量、构造函数和委托。 1. **全局变量**: 全局变量是一种在整个程序范围内都可以访问的变量,不受函数或类的限制。在窗体间传递数据时,可以在公共类或全局...

    C#-变量-VariableDefinition

    但在C#中不推荐使用全局变量,因为可能会导致代码难以理解和维护。 五、变量的生命周期 变量的生命周期是指从创建到销毁的过程。局部变量在进入其作用域时创建,离开作用域时销毁;成员变量随着类的实例创建而创建...

    C#程序变量统一管理例子

    2. 尽量避免全局变量:全局变量可能导致意外的副作用,尽量使用局部变量和类成员代替。如果必须使用全局变量,确保它们有适当的封装和访问修饰符。 3. 使用const和readonly:对于不会改变的常量,使用`const`关键字...

    C#程序设计-3期(KC008) KC008110200017_如何设定ASP.NET中的全局变量.docx

    另外,过多地使用全局变量可能会导致内存占用增加,因此在设计时应谨慎考虑全局变量的使用场景。 总结来说,在ASP.NET中设定全局变量主要依赖于`Application`对象,通过`Application_Start`事件进行初始化,然后在...

    (原创可执行)C#全局鼠标操作实例VS2008

    【标题】"(原创可执行)C#全局鼠标操作实例VS2008"揭示了这是一个使用C#编程语言在Visual Studio 2008环境下编写的程序,它实现了全局鼠标操作的功能。这意味着该程序可以捕获并响应系统级别的鼠标事件,而不仅仅...

    C#中在一个窗体里调用另一个窗体的方法

    这里,`FormReportList`构造函数接收一个`FormPubs`类型的参数`f`,并将其实例化为成员变量`fp`,以便后续调用`FormPubs`中的方法或属性。 #### 2. 实现窗体间的事件触发 为了让`FormPubs`中的方法能够在`...

    c#下注册全局热键

    本文将详细介绍如何使用C#来实现全局热键的功能,并对代码进行深入解析。 #### 二、基础知识 ##### 1. P/Invoke (Platform Invoke) P/Invoke 是 .NET Framework 中的一种技术,它允许托管代码(如 C#)调用非托管...

    C# winform窗体间传值(使用委托或事件)

    使用方法:使用vs2013打开编译运行即可; 工程中总共介绍了三种方法: ###方法1:通过保存对象的引用调用其方法实现对子窗体的控制; ###方法2:通过委托,在子窗体显示之前,为委托赋值,关注主窗体的数据变化,当...

    C#基础变量与数据类型的文档

    4. 局部与全局变量:局部变量在方法或块中声明,只在该作用域内有效。全局变量(成员变量)属于类,可以在类的任何方法中访问。 5. const与readonly:const是常量,一旦赋值就不能改变;readonly变量在初始化后也不...

    C# WinForm捕获全局变量异常 SamWang解决方法

    在C# WinForm开发中,有时程序可能会遇到未预期的全局变量异常,这些异常如果未经处理,会直接中断程序执行并显示堆栈跟踪信息,给用户带来不愉快的体验。为了提供更稳定的应用程序和良好的用户体验,我们需要采取...

Global site tag (gtag.js) - Google Analytics