zoukankan      html  css  js  c++  java
  • 在窗体的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 事件响应中写。

  • 相关阅读:
    洛谷5495:Dirichlet前缀和
    SP5971 LCMSUM
    洛谷1829:crash的数字表格
    洛谷3172:选数
    Codeforces 1295 D. Same GCDs
    洛谷3768:简单的数学题
    NTT学习笔记
    洛谷1169:棋盘制作(悬线法)
    洛谷2444:病毒
    后缀自动机
  • 原文地址:https://www.cnblogs.com/linfuguo/p/616539.html
Copyright © 2011-2022 走看看