winform 下 
有很多窗体之间须要传递变量值
请问应该怎么做?

解决方案 »

  1.   

    用的多的搞个类用静态的一个存储器存储起来,慢慢的就有了设计模式中的flyweight模式了......
      

  2.   

    不用搞个静态类.就写个普通类就行.
    比如
    using System;
    using System.Collections.Generic;
    using System.Text;
    namespace xxxx
    {
    [Serializable]
    public class ImportParameter
    {
       private DateTime startDatetime;
       private DateTime endDateTime;
       private int year;
       ....
       .  ....
        public DateTime StartDateTime
            {
                get
                {
                    return startDatetime;
                }
                set
                {
                    startDatetime = value;
                }
            }
       public DateTime EndDateTime
            {
                get
                {
                    return endDateTime;
                }
                set
                {
                    endDateTime = value;
                }
            }
       ...
    }
    }我只是随便写一个.大概就这样子就行了.
    传参数的时候,把参数值赋到类的属性中,然后只传个类对象过去就可以了.
      

  3.   

    在一个类里 用static 变量
      

  4.   

    不用那麼複雜,剛才正要回樓主問題結果CSDN說要更新。所以在自己的Blog裡寫了一個簡單的教學,樓主不妨去看看是不是您想要的需求。
    http://blog.csdn.net/mienfong/archive/2008/11/06/3240088.aspxhttp://blog.csdn.net/mienfong/archive/2008/11/06/3240088.aspx
      

  5.   

    抱歉,重放一次。網址:http://blog.csdn.net/mienfong/archive/2008/11/06/3240088.aspx 
      

  6.   

    定义
      public class MessageManager
        {
            public delegate void EventHandler(MessageBody Mess);
            public event EventHandler MessReceive;
            private static MessageManager _Instance;
            public static MessageManager Instance
            {
                get
                {
                    if (_Instance == null) _Instance = new MessageManager();
                    return _Instance;
                }
            }
            public void Send(MessageBody e)
            {
                if (MessReceive != null)
                    MessReceive(e);
            }
            public void Send(string e)
            {
                if (MessReceive != null)
                {
                    MessageBody  MES=new MessageBody("MESS",e);
                    MessReceive(MES);
                }
            }
        }
    使用:
    接收
    MessageManager.Instance.MessReceive += new MessageManager.EventHandler(Instance_MessReceive)
            void Instance_MessReceive(MessageBody Mess)
            {
                switch (Mess.Mess)
                {
                    case "MESS":
                         
                        break;
                    case "MESS2":                    break;            }
         发送
            MessageBody  MES=new MessageBody("MESS",object);
                    MessageManager.Instance.Send(MES);这样你可以在程序里任何地方接收和发送对象
      

  7.   

    http://www.cnblogs.com/nianshi/archive/2007/01/25/630139.aspx呵呵这里面有较全的关于这方面 的资料
      

  8.   

    比如你让保存一个字符窜,建一个公共的类,然后在类里面定义一个静态的变量如 public static string str=null;调用的时候你类名. str 赋值就可以了
      

  9.   

    个人看法普通类加静态属性可以实现
    还可以使用sigleton