//实例化学生明细的窗体
public static frmStudentDetail frmsd;
//主窗体双击单元格的事件
private void dgvStudent_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)//双击单元格的事件
{
//通过Serverice类中的方法得到学生类
Student objectStudent = StudentService.GetStudentInfo(Convert.ToInt32( dgvStudent.CurrentRow.Cells[0].Value));
//更改识别操作的全局变量
actionFlag = 1;
//防止关闭明细窗体,再次打开是无响应,需要在明细窗体中将实例化的窗体置为空
if (frmsd == null)//判断窗体是否已经打开
{
//将实例化的窗体直接在次级窗体里面创建有参数的方法,直接将参数在打开时直接被调用
frmsd = new frmStudentDetail(objectStudent, actionFlag);//实例化Student窗体,并将数据传递到次级窗体
frmsd.Show();//显示
}
else
{
frmsd.Activate();
frmsd.WindowState = FormWindowState.Normal;
}
}
//第二个窗体的事件(明细窗体)
public frmStudentDetail(Student objStudent/增加判断增删改的操作/,int actionFlag) :this()//在主窗体触发这个窗体的有参数的方法之前首先运行窗体默认的无参的方法。并接受传递的参数
{文章来源地址https://www.toymoban.com/news/detail-441669.html
}
private void frmStudentDetail_FormClosing(object sender, FormClosingEventArgs e)//窗体关闭的事件
{ //防止关闭明细窗体,再次打开是无响应,需要在明细窗体中将实例化的窗体置为空
frmMain.frmsd = null;//frmsd为主窗体中实例化第二个窗体
}
文章来源:https://www.toymoban.com/news/detail-441669.html
到了这里,关于双击dataGridView控件中的数据行,弹出另一个窗体,并将数据传递到另一个窗体中的方法。实现窗体调用,并数据传输的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!