winform 下
有很多窗体之间须要传递变量值
请问应该怎么做?
解决方案 »
- NHibernate Session 问题
- 将datagridview的数据导出到word,还有程序中动态生成的图片!
- 求助~
- 装COSS ERP之后启动ERP服务器时总是先要修改配置文件
- 菜鸟请教如何使用VS2005中的代码片段
- 关于FileStream保存文件的困惑
- 如何暂停和恢复隐藏窗口的控制台进程的运行?
- 怎样用水晶报表做一页类似学生档案的页面?
- 我只想用C# 做开发,我安装VS.net的时候选择哪几项?
- 如何使DataGrid在允许选中一行的前提下,控制不能通过键盘DEL键删除选中的一行?
- 请问有什么办法可以直接提取*.iso文件里面的某个文件
- 如何为 用DirectX 画的三角型,添加法线?
比如
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;
}
}
...
}
}我只是随便写一个.大概就这样子就行了.
传参数的时候,把参数值赋到类的属性中,然后只传个类对象过去就可以了.
http://blog.csdn.net/mienfong/archive/2008/11/06/3240088.aspxhttp://blog.csdn.net/mienfong/archive/2008/11/06/3240088.aspx
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);这样你可以在程序里任何地方接收和发送对象
还可以使用sigleton