关闭当前窗体以使用DataGridView click事件打开另一个窗体

时间:2018-12-03 09:57:38

标签: c# datagridview

我有一个数据网格视图,当单击行标题时,它会打开一个表单以显示学生详细信息。我想再次单击行标题以在关闭前一个表单的同时打开另一个表单。使用按钮退出很容易,但是不能通过单击数据网格视图行标题来使其工作。我希望我能正确解释。谢谢 ! 这是我打开表单的代码。

    private void dgvViewStudents_RowHeaderMouseDoubleClick(object sender,                                                 DataGridViewCellMouseEventArgs e) // click on dgv row
    {           
        int index = dgvViewStudents.CurrentRow.Index;
        DataRow drCurrent = dtViewStud.Rows[index];
        string StudentID = drCurrent[1].ToString();
        ViewStudentDet frm = new ViewStudentDet(StudentID);
        frm.Show(); // passes data to ViewStudentForm                       
    }

1 个答案:

答案 0 :(得分:0)

好的,这就是你要做的。假设您单击标题时有2个表格要显示 创建这两种形式的实例作为类变量。

ViewStudentDet1 frm1;
ViewStudentDet2 frm2;

也是一个随click移动的开关。如果您单击的是同一标题,则需要一个变量来在您的条件之间进行切换

在构造函数中初始化它们

frm1 = new ViewStudentDet1();
frm2 = new ViewStudentDet2();

还在那些接受“ StudentID”的表格内创建一个公共变量

首次点击 您只需激活并显示或显示对话

if(swich ==//your condition){
  if(form2 is in Application.OpenForms collection){
     form2.hide();
  }
frm1.StudentID = //give an id
frm1.Activate()
frm1.DOSomething();
frm1.show()
}else{
 if(form1 is in Application.OpenForms collection){
     form1.hide();
  }
frm2.StudentID = //give an id
frm2.Activate()
frm2.DOSomething();
frm2.show()
}