【问题标题】:Passing values between Forms在表单之间传递值
【发布时间】:2012-12-26 09:21:34
【问题描述】:

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

有没有简单的方法可以做到这一点?

【问题讨论】:

    标签: c# winforms session data-transfer


    【解决方案1】:

    我认为这是一位资深网络开发人员的话。我听到你了,我的朋友。我去过那里...

    Web 编程的会话对象只是解决在无状态环境中保存状态问题的一种解决方法。另一方面,winforms 编程没有这个问题。您的应用程序中的对象都保留了它们的状态信息。

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

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

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

    【讨论】:

      【解决方案2】:

      我相信最简单的方法是创建一个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";。这会将Name 设置为value

      谢谢,
      节日快乐! :)

      【讨论】:

        【解决方案3】:

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

        //写

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

        Properties.Setting.Default.Save();

        //阅读

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

        【讨论】:

          猜你喜欢
          • 2011-03-05
          • 2012-10-10
          • 1970-01-01
          • 2017-09-21
          • 2014-01-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多