C# 在窗体c之间传递对象#

C# 在窗体c之间传递对象#,c#,forms,object,C#,Forms,Object,我在函数中使用对象时遇到问题。在Form2 im中,将对象传递到Form3: DaneDelegacja Dane = new DaneDelegacja(); Dane.MiejsceDocelowe = textBox1.Text; Dane.GodzinyWDelegacji = differenceInHours; // Create a new instance of the Form3 class Form3 nocleg = new Form3(Dane); 表格3 在功能按钮

我在函数中使用对象时遇到问题。在Form2 im中,将对象传递到Form3:

DaneDelegacja Dane = new DaneDelegacja();
Dane.MiejsceDocelowe = textBox1.Text;
Dane.GodzinyWDelegacji = differenceInHours;

// Create a new instance of the Form3 class
Form3 nocleg = new Form3(Dane);
表格3

在功能按钮1上,点击表单3,我不能使用对象“Dane”,因为

“错误1当前上下文中不存在名称“Dane”


感谢您的帮助:)

您正在传递DaneDelegacija类的实例,但您没有将对Dane的引用保存到Form3

在Form3中,您需要创建一个属性: 丹麦遗产

在Form3(Danedeligacija Dane)中,您应该将该属性设置为:

dane = Dane; //from your constructor
然后打电话:

dane.NoclegRyczalt .. etc

您必须将其存储在
表单3
中。创建字段/属性,并从构造函数中的
Dane
分配值:

public class Form3 : Form
{
  ...
  private readonly DaneDelegacja Dane;

   public Form3( DaneDelegacja Dane )
   {
      this.Dane = Dane;

      InitializeComponents();
   }
}

在Form3中为Dane创建一个全局变量,并在Form3构造函数中设置它。也许您应该将对象引用复制到
Form3
class;中的某个支持字段。)(在你的类中创建一个
private DaneDelegacja\u dane
字段,然后在你的构造函数中使用
\u dane=dane
。。然后你可以在你期望的地方使用
\u dane
)顺便说一句,作为提示:请重命名你的控件(每当我读到
文本框1
我都会退缩)不要太多地混合使用大小写-参数
Dane
应该是小写
dane.NoclegRyczalt .. etc
public class Form3 : Form
{
  ...
  private readonly DaneDelegacja Dane;

   public Form3( DaneDelegacja Dane )
   {
      this.Dane = Dane;

      InitializeComponents();
   }
}