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; }
}
假设您将表单类命名为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