//子窗体中设置界面值的方法 ,传入的PhoneNum为 包含各值的对象
public void SetForm(PhoneNum pn)
{cbbType.SelectedValue = pn.PTypeId;
txtName.Text = pn.PName;
txtNum.Text = pn.PNum;
txtHomeNum.Text = pn.PHomeNum;
}
//主窗体中定义委托,无返回值,传入PhoneNum对象
delegate void ShowFormNum(PhoneNum pn);
//定义私有成员为 该委托类型
private ShowFormNum sfn;
//当主窗体中显示子窗体时,将子窗体方法传入 委托对象中
FormAddUpdate fau = new FormAddUpdate();
sfn = fau.SetForm; //将FormAddUpdate 窗体中控件赋值的方法SetForm传入委托中
fau.Show();
//这是DataGridView的行获得焦点事件,调用委托,传入该行对应的PhoneNum对象
if (dgvNum.SelectedRows.Count > 0)
{
PhoneNumBLL bll = new PhoneNumBLL();
int pid = Convert.ToInt32(dgvNum.SelectedRows[0].Cells[0].Value);
sfn(bll.GetPhonNumById(pid)); // GetPhonNumById为业务逻辑层中通过ID获得PhoneNum对象的方法
}
到此,功能实现完毕!
个人学习记录用!~~