0

如您所知,我们在 WinForm 中没有会话。我的项目中有几种形式(客户、服务、操作员……),我从操作员那里获取一些值(操作员姓名、操作员姓氏和头像地址)。我想将这些值存储在运行时的某个地方,并且每当我需要它时,我可以从存储它的位置获取它。

是否有捷径可寻 ?

4

3 回答 3

1

我认为这些是长期 Web 开发人员的话。我听到你了,我的朋友。我去过那儿...

Web 编程的 Session 对象只是解决在无状态环境中保存状态问题的一种变通方法。另一方面,winforms 编程没有这个问题。您的应用程序具有所有保留其状态信息的对象。

至于将信息从一种形式传递到另一种形式:

  1. 您可以在接收表单构造函数上定义参数以传递参数。然后在接收表单中定义局部变量来保存对这些对象的引用。
  2. 您可以在接收表单上设置单独的方法来发送参数并从发送者表单调用它。
  3. 您可以在发件人表单(或其他地方)上公开信息,并在需要时从接收表单中获取。

哪个最好?完全取决于您的业务案例和应用程序逻辑。

于 2012-12-26T09:27:31.200 回答
1

我相信最简单的方法是创建一个class可以从包含您想要的数据的表单中访问的

例子

// Class1.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace myNameSpace
{
    class Class1
    {
        public static string Name = "";
        public static string LastName = "";
        public static string ProfilePictureaddress = "";
    }
}

使用它,每当您想存储或检索数据时,您都可以使用myNameSpace.Class1. 例如,如果您想存储到 中Name,您可以使用myNameSpace.Class1.Name = "value";. 这将设置Namevalue

谢谢,
节日快乐!:)

于 2012-12-26T09:32:01.297 回答
0

您也可以像这样使用项目属性:

//写

Properties.Setting.Default["key"] = value;

Properties.Setting.Default.Save();

//读

value = Properties.Setting.Default["key"];

于 2012-12-26T11:15:01.783 回答