如何在C#表单应用程序中停止在构造函数中加载表单

时间:2012-08-22 12:53:53

标签: c#

我有2个表格。我获取所请求的数据连接到Form1中的数据库,将其发送到Form2,显示Form2并在连接到数据库后填写Form2的构造函数中的datagridview。在这里,我检查sdr(SqlDataReader)中是否有任何行。如果没有,我想要做的是停止加载Form2并返回Form1。

我尝试了 this.close()但是在执行Form2的构造函数时它不起作用。

if (!sdr.HasRows)
   {
      MessageBox.Show("No Data!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
      this.Close();
   }

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

数据的结束和一般加载不是在ctor的{​​{1}}内进行,而是在Form.Load内进行。

例如:

Form

答案 1 :(得分:1)

为什么不在显示表单之前简单地进行检查? Form1具有做出决定所必需的数据。

if(!sdr.HasRows)
  //show error
else    
  //show form2.