我有个主窗体是frm1
两个附窗体分别是frm2和frm3
程序运行显示frm1,当我点击frm1某个按钮的时候弹出frm2,关闭frm2,再点另一个按钮弹出frm3
而现在我想当关闭frm2的时候就弹出frm3,但不是通过frm2弹出,就是frm2关闭后执行frm1中的弹出frm3那个按钮的单击事件,这个可以实现吗?
两个附窗体分别是frm2和frm3
程序运行显示frm1,当我点击frm1某个按钮的时候弹出frm2,关闭frm2,再点另一个按钮弹出frm3
而现在我想当关闭frm2的时候就弹出frm3,但不是通过frm2弹出,就是frm2关闭后执行frm1中的弹出frm3那个按钮的单击事件,这个可以实现吗?
private void frm2_FormClosing(object sender, FormClosingEventArgs e)
{
frm3 fm = new frm3();
fm.ShowDialog();
this.Close();
}
frm3 在frm1中实例化了没?
我想这样,在frm2的关闭按钮里:
private void btnCancel_Click(object sender, EventArgs e)
{
frm2.Close();
frm1的单击按钮执行它的事件;
}就是你要是弹出frm3不是得frm2关闭后点击frm1的按钮,才能执行frm1按钮中的语句吗,现在是不用点就自动执行frm1按钮中的语句,这个得怎么弄
我把代码写给你,==
谢谢了,我还想问问你,怎么才能升级,就是多个星什么的,是多回帖吗
我每发一个帖子就要给人家分,现在系统提示我必须得把2006年的帖子都结了,可是我这一算,我一个帖子给20分,5个帖子我分就没了啊,没了到不要紧,我就是想问问,如果我没分了,那我还能问问题吗?
还有有的帖子就一个人给我回了,并且是“我帮你顶这样的话”,那这个帖子怎么算啊,总不能这样也给他分吧?
form3中的代码
private void OpenForm4_Click(object sender, System.EventArgs e)
{
Form4 form4 = new Form4();
form4.closeEvent = new tryForm.Form4.CloseEvent(OpenForm5_Click);
form4.Show();
}
在vs2003中測試通過 private void OpenForm5_Click(object sender, System.EventArgs e)
{
Form5 form5 = new Form5();
form5.Show();
}
Form4中的代码
public delegate void CloseEvent(object sender, System.EventArgs e);
public CloseEvent closeEvent = null;
private void button1_Click(object sender, System.EventArgs e)
{
this.Close();
} private void Form4_Load(object sender, System.EventArgs e)
{
this.button1.Click += new EventHandler(closeEvent);
}
public delegate void CloseEvent(object sender, System.EventArgs e);
public CloseEvent closeEvent = null;form4.closeEvent = new tryForm.Form4.CloseEvent(OpenForm5_Click);
————————————————————————————————这个语句在.net2005中不通过,form4中我已经定义这个委托了,但还是通不过
打form4.后,没有closeEvent选项