在Form1.cs中我有C#打开窗体从另一个形状误差
public const int n = 30;
public TabPage[] tp = new TabPage[n];
private void toolStripSeparator1_Click(object sender, EventArgs e)
{
RenameFunc rf = new RenameFunc();
rf.ShowDialog();
}
在RenameFunc.cs我有
private void button1_Click_1(object sender, EventArgs e)
{
Form1 frm1 = new Form1();
if (textBox1.Text != null)
/*Line 24 */ frm1.tp[Array.IndexOf(frm1.tp, frm1.tabControl1.SelectedTab)].Text = textBox1.Text;
Application.Exit();
}
tabControl1也seted TU公开
行24我得到错误
System.NullReferenceException:对象引用未设置为对象的实例。 at System.Windows.Forms.TabControl.get_SelectedTabInternal() at System.Windows.Forms.TabControl.get_SelectedTab() at Notepad1._0.RenameFunc.button1_Click_1(Object sender,EventArgs e)in D:\ C#\ Notepad1。 0 \ Notepad1.0 \ RenameFunc.cs:line 24
如何更正?
你正在隐藏一些东西。 :)什么是'frm1.tp'?你为什么要创建一个'Form1'的新实例? – J0HN
我会建议你不要直接访问RenameFunc.cs中的tabControl。您应该在Form1.cs中实现一个Property,其中包含Tabcontrol的选定Tab。 – Tomtom