MDI窗体:
                  private void MenuOpen_Click(object sender, System.EventArgs e)
{
OpenFileDialog OpDg=new OpenFileDialog ();
OpDg.Filter ="图像文件(*.JPG)|*.JPG|所有文件(*.*)|*.*";
OpDg.InitialDirectory ="d:\\photo";
OpDg.Title ="打开图像文件";
OpDg.Multiselect =true;
OpDg.ShowDialog() ;
Form2.ShowMyImage(OpDg.FileName ,0,0);????有问题,不能调用
}
Form2子窗体:
                  public static Bitmap MyImage;
public void ShowMyImage(String fileToDisplay,int xSize,int ySize)
{
if(MyImage!=null)
{
MyImage.Dispose ();
}
picBox1.SizeMode =PictureBoxSizeMode.StretchImage ;
MyImage=new Bitmap(fileToDisplay);
picBox1.ClientSize =new Size(xSize,ySize);
picBox1.Image =(Image)MyImage;
}

解决方案 »

  1.   

    你所要打开的子窗体没有show出来应该就缺少这个了
      

  2.   

    private void MenuOpen_Click(object sender, System.EventArgs e)
    {
    OpenFileDialog OpDg=new OpenFileDialog ();
    OpDg.Filter ="图像文件(*.JPG)|*.JPG|所有文件(*.*)|*.*";
    OpDg.InitialDirectory ="d:\\photo";
    OpDg.Title ="打开图像文件";
    OpDg.Multiselect =true;
    OpDg.ShowDialog() ;
    Form2 frmTmp = new Form2();frmTmp .ShowMyImage(OpDg.FileName ,0,0);????有问题,不能调用frmTmp.show();
    }
      

  3.   

    public void ShowMyImage()函数不是static当然不能直接通过类来访问
    改成public static void ShowMyImage()
      

  4.   

    if ( OpDg.showdialog()==DialogResult.OK )
    {
    Form2 f = new Form2();
    f.ShowMyImage(OpDg.FileName ,0,0);
    }