模式窗体在load和activate的事件中是不能关闭的,你可以用个TIMER来关闭

解决方案 »

  1.   

    我是在Load事件中装载数据,如果装载出错,我就不希望该窗体运行,所以想关闭它.
    Timer 是个不错的选择
      

  2.   

    在form中定义一个public bool的方法,成功则ShowDialog()
      

  3.   

    关键是数据在该form的load方法中装载.此时该form已经在外边被调用ShowDialog();
      

  4.   

    "此时该form已经在外边被调用ShowDialog();" 你不会判断一下,不符合就调用么?
      

  5.   

    可能我所得不过详细:
    在调用form的ShowDialog()之前是不知道是否适合的.因为程序是很多人编写,在外边判断,也就意味着数据要通过参数传递给这个form(而不是在form的里面装载数据), 模块之间的耦合增多了.所以不宜这样.
    我是在form的Load事件函数里面装载数据,如果数据不合适,则这个form自动关闭