• 向园子里的朋友探讨一个问题:如果判定一个对象已被处置


    先来贴代码:
    Form1
    namespace SunnyCMS.Archives.UI
    {
        
    public partial class Form1 : Form
        
    {
            
    private Form2 f;

            
    public Form1()
            
    {
                InitializeComponent();
                f 
    = new Form2();
            }


            
    private void button1_Click(object sender, EventArgs e)
            
    {
                f.Show();
            }

        }

    }

    Form2
    public partial class Form2 : Form
        
    {
            
    public Form2()
            
    {
                InitializeComponent();
            }
            
        }
    Form2.Designer
    namespace SunnyCMS.Archives.UI
    {
        
    partial class Form2
        
    {
            
    /// <summary>
            
    /// 必需的设计器变量。
            
    /// </summary>

            private System.ComponentModel.IContainer components = null;

            
    /// <summary>
            
    /// 清理所有正在使用的资源。
            
    /// </summary>
            
    /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>

            protected override void Dispose(bool disposing)
            
    {
                
    if (disposing && (components != null))
                
    {
                    components.Dispose();
                }

                
    base.Dispose(disposing);
            }


            
    Windows 窗体设计器生成的代码

        }

    }

    第一次打开Form2正确,第二次就会错误提示,Form2已处置。

    当然button1_Click代码修改为:

    private void button1_Click(object sender, EventArgs e)
            
    {
                
    if (f.IsDisposed)
                
    {
                    f 
    = new Form2();
                    f.Show();
                }

            }
    问题也就可以解决,我的问题是不访问IsDisposed属性,也不能修改Form2的Dispose方法,Form必须在Form1构造函数中初始化,我们可以通过何种方法判段Form2已被处置。也就是说必须寻找其他的解决方法。

    希望各位朋友提供各自的方案。
  • 相关阅读:
    低落
    栗子
    Wireless Password HDU
    考研路茫茫——单词情结 HDU
    DNA Sequence POJ
    HDU 6138 Fleet of the Eternal Throne 多校#8 AC自动机
    Rikka with Candies HDU
    Wavel Sequence HDU
    Counting Divisors HDU
    Codeforces Round #424 E. Cards Sorting 线段树/数据结构瞎搞/模拟
  • 原文地址:https://www.cnblogs.com/eastjade/p/1058626.html
Copyright © 2020-2023  润新知