请帮助我有两种形式,我必须从第二种形式的第一种形式调用方法...但我因上述错误而被卡住了。当我的第二张表格关闭时,我需要关闭表格。
namespace WindowsFormsApplication1
{
public partial class Passengerdetail : Form
{
passengerDetailClass pd = new passengerDetailClass();
Flightentry fe = new Flightentry(); //if i remove this code
public Passengerdetail()
{
InitializeComponent();
fe.FormClosed += new FormClosedEventHandler(fe_FormClosed); //this line gives error mentioned above.
}
void fe_FormClosed(object sender, FormClosedEventArgs e)
{
this.Close();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void Passengerdetail_Load(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
Flightentry fe = new Flightentry(this); //this code lets me access the method from the other form removing it will mean no method =(
this.Hide();
fe.Owner = this;
fe.ShowDialog();
this.Show();
}
public void insertData()
{
pd.Insert(); //i want to access this method
}
}
}
第二种形式的代码如下......
namespace WindowsFormsApplication1
{
public partial class Flightentry : Form
{
flightDetail fd = new flightDetail();
private Passengerdetail pd;
public Flightentry(Passengerdetail paDet)
{
InitializeComponent();
pd = paDet;
}
private void label5_Click(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
pd.insertData();\\i call the insert method from the previous form here.
fd.Insert(comboBox1.Text,comboBox2.Text,comboBox3.Text,textBox3.Text,textBox8.Text,dateTimePicker1.Text,textBox6.Text,textBox5.Text);
}
private void Flightentry_Load(object sender, EventArgs e)
{
}
private void Flightentry_FormClosing(object sender, FormClosingEventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
this.Owner.Show();
this.Hide();
}
}
}
答案 0 :(得分:4)
它发生在这里吗?
//Flightentry fe = new Flightentry(); //if i remove this code
public Passengerdetail()
{
InitializeComponent();
fe.FormClosed += new FormClosedEventHandler(fe_FormClosed); //this line gives error mentioned above.
}
因为您已注释掉fe
根据您的意见,我认为您需要以下内容
Flightentry fe;
public Passengerdetail()
{
InitializeComponent();
fe = new Flightentry(this)
fe.FormClosed += new FormClosedEventHandler(fe_FormClosed); //this line gives error mentioned above.
}
...
private void button2_Click(object sender, EventArgs e)
{
this.Hide();
fe.Owner = this;
fe.ShowDialog();
this.Show();
}