我已经缩小了导致问题的原因,但不确定如何补救。问题是,在我的方法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();
}