• 单例模式 需要用showdialog 如果用show需要做如下改动


    C#C#C#    WinFormWinFormWinFormWinForm中中中中ShowShowShowShow与与与与ShowDialogShowDialogShowDialogShowDialog    Form.Show创建新窗体后(非模式),立即返回,且没有在当前活动窗体和新窗体间建立任何关系,即在保持新窗口的情况下关闭(或最小化)现有窗体或在保留现有窗体情况下关闭(或最小化)新窗口,都是可以的。  Form.ShowDialog创建模式窗体,即只有当建立的新窗口关闭之后,原有窗体才能重新获得控制权。即如果不关闭新窗口,将无法对原活动窗口进行任何操作。对新窗口进行的最小化、还原将会和原窗口一起进行,但是新窗口的关闭对原窗口没有影响。 对于winform来说,大家可能有一个惯性认识或者潜意识,Winform在关闭时(Close()方法被调用时),会自动调用Dispose。确实,对很多对象,Close()方法会调用Dispose。然而,对Winform,并不总是成立,只有当Winform以Show的方式,及无模式的方式弹出时,Close才会调用Dispose,也就是说用户在这种情况下关闭对话框,Dispose会马上被调用,资源会马上被释放。 但是对ShowDialog,及模式对话框的情况就不是这样了,你必须显示调用dispose   以下两种方式可以用show的方法打开新窗体,并且在关闭的时候不释放(一) protected override void OnClosing(CancelEventArgs e)         {             e.Cancel = true;             this.Hide();         } (二)protected override void Dispose(bool disposing)         {             //if (disposing && (components != null))             //{                 //components.Dispose();             //}             //base.Dispose(disposing);             Hide();   winForm表单的show( )和showdialog( )的区别  分类: VS.NET 2008-11-12 09:16 374人阅读 评论(0) 收藏 举报  showDialog 是这样说的 : 将窗体显示为具有指定所有者的模式对话框   show 是这样说的 : 向用户显示具有指定所有者的窗体   关键就是 模式对话框和窗体 的区别了, 简单的讲模式对话框弹出来以后,你将不能选中主窗体,除非将模式对话框关闭。而 普通窗体弹出来以后你还可以对主窗体进行操作。    应用上面来说,   使用 模式对话框 的时候 在showDialog 的时候 程序会在这showDialog之后停止执行,而等待 模式对话框的关闭, 所以在关闭之前可以设置dialogResult属性。    this.DialogResult = DialogResult.OK;             this.Close();   然后你就可以在主窗口 取到这个值,判断 子窗口 是否是正常关闭,(非正常关闭的DialogResult 是 cancel)。   而 show 出来的窗体 设置这个是没有用的

  • 相关阅读:
    LaTeX技巧如何拆分源文件并且分别编译
    latex 批量注释
    解决 winedit 打开tex文件 reading error
    Latex beamer
    myeclipse项目上出现红色叹号
    个人简介
    Ubnt EdgeRouter ER-4 路由器的交换功能
    限制黑产尝试登陆WordPress后台
    查找汉字笔顺笔画
    WordPress主题:高级资源类博客主题RiPro主题V6.5
  • 原文地址:https://www.cnblogs.com/goto/p/2881130.html
Copyright © 2020-2023  润新知