在哪里保存公共信息,可以通过所有表格访问

时间:2010-04-05 07:33:28

标签: c# .net winforms

这是我在.NET中的第一个winform应用程序...我已经制作了几个ASP.NET应用程序......

在这个应用程序中,我有一些常见的变量,如当前用户名,他选择的进程等等。这应该可以随时从应用程序中的所有表单访问...我怎么能这样做。 ..这里有像ASP.NET这样的“Session”......

进一步如何编码器通常将信息从一种形式传递到另一种形式......这里我想将我在第一种形式中获得的信息传递给后续的形式......我使用构造函数重载并将值作为参数传递。 ..我很确定必须有更好的方法来做到这一点......

感谢您的时间......

3 个答案:

答案 0 :(得分:1)

您可能想要实现Singleton对象

Implementing the Singleton Pattern in C#

这通常用于线程安全代码,但也允许您从多个表单访问同一个实例,允许您使用相同的数据,而不必将对象从表单传递到表单。

答案 1 :(得分:1)

有很多方法。

  1. 静态对象 - 这些对象在应用程序中共享,因此您可以从任何表单或类访问它们。许多人不建议这样做,首选单例类,但我在winform应用程序中没有发现这些问题。
  2. 公共属性 - 这些是特定于表单而非全局的。与ASP.NET的使用非常相似。
  3. 项目设置集合 - 可用于存储在应用程序生命周期中可能不会更改的数据。所有表格都可以访问。

答案 2 :(得分:0)

在这种情况下我会使用单例,请查看此generic singleton实现。