系统对象处理异常

我有一个带有几个按钮的表单,一个按钮允许我创建多个新表单(带有文本框的 form2,该按钮每次单击时都会创建此表单的一个新实例。)


我的问题是我不断收到异常System.ObjectDisposedException: 'Cannot access a disposed object.

Object name: 'TextDocument'.'


我也无法使用按钮创建多个表单,它创建了一个我可以保存和打开的实例,但我无法再创建。


我确实声明了一个新的表格正在制作,给它起了一个名字,等等。看起来像这样


  public partial class MainForm : Form

    {

        TextDocument Text;

        public MainForm()

        {

            InitializeComponent();

            Text = new TextDocument();

        }

在我的第一个表单(主表单,它是一个 mdi 表单)中,我的按钮有以下代码。


private void btnNewTool_Click(object sender, EventArgs e)

       {

           Text.MdiParent = this;

           Text.Show();

       }

在下面的第二种形式(称为 TextDocument)中,我所拥有的只是


 public string TextFileName

        {

            get { return tbText.Text; }

            set { tbText.Text = value; }      

        }

我认为这不应该是一个问题,因为我所做的只是为我的保存按钮收集文本,该按钮工作得很好。


总的来说,我想做的是有一个按钮,单击该按钮后我可以创建一个名为 Text 的新 form2 实例。但我不断收到异常System.ObjectDisposedException: 'Cannot access a disposed object.Object name: 'TextDocument'.',我不确定如何解决这个问题。


(这是我在过去 3 个月里一直在研究的第一种编程语言,因此非常感谢任何帮助。)。


慕码人2483693
浏览 90回答 1
1回答

慕少森

MDI 的意思是“多文档界面”。您将代码编写为单文档接口。删除这些行:TextDocument Text;Text = new TextDocument();您的点击事件应如下所示:private void btnNewTool_Click(object sender, EventArgs e){   TextDocument td = new TextDocument();   td.MdiParent = this;   td.Show();}
打开App,查看更多内容
随时随地看视频慕课网APP