Winform不包含我的方法的定义

本文关键字:定义 方法 我的 包含 Winform | 更新日期: 2023-09-27 18:29:50

我正试图用以下代码将图像对象从一个winform传递到另一个winform。

在我的第一次胜利中,我有一个名列前茅的:

 public Image SavedImage
 {
    get { return PictureBox.Image; }
    set { PictureBox.Image = value; }
 }

在我的第一个winform的初始值设定项中,我有以下代码:

 public ControlPanel(Image savedImage)
 {
    InitializeComponent();
    _screenCapture = new ScreenCapture();
    _screenCapture.OnUpdateStatus += _screen_CapOnUpdateStatus;
    SavedImage= savedImage;
 }

然后在我的第二个winform中,我将该图像对象传递回我的第一个winform,如下所示:

 this.InstanceRef.SavedImage = savedImageObject;
 this.InstanceRef.Show();
 this.Close();

然而,当我运行此代码时,我会得到以下错误:

"System.Windows.Forms.Form"不包含"SavedImage"的定义,也找不到接受第一个类型为"System.Windows.Forms.Forms"的参数的扩展方法"SavedImage"(是否缺少using指令或程序集引用?)

据我所知,这是正确的代码。但我的编译器告诉我它不是。如何克服此代码?

InstanceRef与以下代码相关:

  private Form m_InstanceRef = null;
  public Form InstanceRef
   {
      get { return m_InstanceRef; }
      set { m_InstanceRef = value; }
   }

Winform不包含我的方法的定义

假设您将表单类命名为YourFormClass,而SavedImage实际上是在YourFormClass:中定义的

((YourFormClass)this.InstanceRef).SavedImage = savedImageObject;

或者您可以重新定义您的InstanceRef属性如下:

private YourFormClass m_InstanceRef = null;
public YourFormClass InstanceRef {
  get { return m_InstanceRef; }
  set { m_InstanceRef = value; }
} 
//Then you don't need to cast InstanceRef to YourFormClass