• 在窗体的Load时怎么退出窗体


    打开某窗体frm1,此窗体打开的条件是必须存在某个值,所以在打开此窗体时,需要在OnLoad事件中
    打开另外一窗体frm2进行选择。

    现流程如下:
    1.在frm2中选择到值,直接把值传入frm1使用,没有什么问题。
    2.在frm2中未选择到值,需要在关闭frm2的同事,也在关闭frm1,因为frm1执行的条件是必须存在此值。

    上述问题2中的用普通的this.close方法不能实现,错误信息如下:
    this.Close() 或 this.Dispose()时 都会出错:
    "执行 CreateHandle() 时无法调用值 Dispose()"
    "执行 CreateHandle() 时无法调用值 Close()"

    因为在OnLoad事件中,当前窗体的句柄Handle还没有创建完成
    所以不能直接进行关闭操作,变通的实现方法如下:

    protected override void OnVisibleChanged(EventArgs e)
    {
        base.OnVisibleChanged(e);
        if (条件)
            this.Close();
    }
    也可以重写 OnShown 或者在 Shown 事件响应中写。

  • 相关阅读:
    方法重载
    构造方法:(特殊方法,用来创建对象 没写就会默认有构造方法)
    java:第十二章
    java:第九章
    java:第十四章
    java:第十五章
    java:第十一章
    I/O小结
    java:第八章
    java:第六章
  • 原文地址:https://www.cnblogs.com/linfuguo/p/616539.html
Copyright © 2020-2023  润新知