表单加载投掷对象引用未设置错误

时间:2017-08-15 17:30:54

标签: c# .net winforms c#-4.0

我已经缩小了导致问题的原因,但不确定如何补救。问题是,在我的方法InputCtrl ic = new InputCtrl();内调用PopulateData()后,我收到错误

  

对象引用未设置为对象的实例

现在,我将它设置为具有变量ic

的对象的实例

关于这里发生的事情的背景故事,我有一个表格加载,在加载时,应该生成一个"新屏幕",基本上是一个"空白的板块"供用户开始输入数据。现在前三个文本框没有问题,我能想到的唯一原因是它们存在于主窗体上,而输入控件上存在下面的4个。

在此语法中应该更改哪些内容以便相应地执行?

    private void MainForm_Load(object sender, EventArgs e)
    {
        NewScreen("new", new DFC());
    }


    void NewScreen(string strNewTabName, DFC validinput)
    {
        InputCtrl nsc = new InputCtrl();
        nsc.Location = new Point(0, 0);
        nsc.Anchor = (AnchorStyles)(AnchorStyles.Top | AnchorStyles.Left);
        nsc.Size = new Size(828, 689);
        nsc.Name = "DrawingStageCtrl1";
        nsc.TabIndex = 0;
        nsc.Dock = DockStyle.Fill;
        nsc.Setvalidinput(validinput);

        TabPage NewtabPage = new TabPage();
        NewtabPage.Location = new Point(4, 22);
        NewtabPage.Name = "tabPage1";
        NewtabPage.Padding = new Padding(3);
        NewtabPage.Size = new Size(828, 689);
        NewtabPage.TabIndex = 0;
        NewtabPage.Text = strNewTabName;
        NewtabPage.UseVisualStyleBackColor = true;
        NewtabPage.Controls.Add(nsc);
        MainTabCtrl.Controls.Add(NewtabPage);

        MainTabCtrl.SelectedTab = NewtabPage;
        CurrentSelectedCtrl = nsc;
        PopulateData(validinput);
    }

    public void PopulateData(DFC validinput)
    {

        txta.Text = validinput.a.ToString();
        txtb.Text = validinput.m_b.ToString();
        txtc.Text = validinput.m_c.ToString();

        InputCtrl ic = new InputCtrl();
        ic.txtpb.Text = validinput.m_pb.ToString();
        ic.d.Text = validinput.m_d.ToString();
        ic.pn.Text = validinput.m_pn.ToString();
        ic.ls.Text = validinput.m_ls.ToString();
    }

0 个答案:

没有答案