次のコードを使用して、ある winform から別の 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;
}
次に、2 番目の winform で、そのイメージ オブジェクトを最初の winform に次のように渡します。
this.InstanceRef.SavedImage = savedImageObject;
this.InstanceRef.Show();
this.Close();
ただし、このコードを実行すると、次のエラーが発生します。
'System.Windows.Forms.Form' には 'SavedImage' の定義が含まれておらず、タイプ 'System.Windows.Forms.Form' の最初の引数を受け入れる拡張メソッド 'SavedImage' が見つかりませんでした (using ディレクティブがありませんか?またはアセンブリ参照?)
私が知る限り、これは正しいコードです。しかし、私のコンパイラはそうではないと言っています。このコードを克服するにはどうすればよいですか?
InstanceRef は、次のコードに関連しています。
private Form m_InstanceRef = null;
public Form InstanceRef
{
get { return m_InstanceRef; }
set { m_InstanceRef = value; }
}