日期:2014-05-20  浏览次数:21038 次

窗体传值提示未处理 System.ObjectDisposedException
一个窗体的按钮调用另一个窗体下的该方法  
  public static JYPD.JYPDRow ShowCjbz(JYPD.JYPDRow jypd)
  {
  FormCjbz cjbz = new FormCjbz();
  cjbz.jypdr = jypd;
  cjbz.loads();
  if (cjbz.ShowDialog() == DialogResult.OK)
  {
  cjbz.Close();//如果不写这个一行,多次调用该方法后窗体无法接收到值
  return cjbz.jypdr;
  }
  return null;
  //cjbz.ShowDialog();
  }

------解决方案--------------------
public static JYPD.JYPDRow ShowCjbz(JYPD.JYPDRow jypd)
{
 FormCjbz cjbz = new FormCjbz();
 return cjbz.ShowCjbz(jypd);
}

FormCjbz 中添加方法
public JYPD.JYPDRow ShowCjbz(JYPD.JYPDRow jypd)
{
jypdr = jypd;
loads();
if (ShowDialog() == DialogResult.OK)
{
return jypdr;
}
return null;
}
在确定按钮加
jypdr=....
DialogResult = DialogResult.OK;
Close();
在关闭按钮中加
DialogResult = DialogResult.Cancel;
close();