我有窗体:Form1,Form2。这两个窗体都添加了同一个自定义控件;
在这个自定义控件中包含一个按钮,当点击这个按钮后,就跳到Form3界面;
在Form3上我添加了一个标签,取名为返回,当点击这个标签就返回到它的上一个窗体
比如:Form1-->Form3,点击返回就跳到Form1...如果是Form2-->Form3,点击返回则跳到Form2
应该怎么写代码?
我是菜鸟,高手帮帮我!!!
在这个自定义控件中包含一个按钮,当点击这个按钮后,就跳到Form3界面;
在Form3上我添加了一个标签,取名为返回,当点击这个标签就返回到它的上一个窗体
比如:Form1-->Form3,点击返回就跳到Form1...如果是Form2-->Form3,点击返回则跳到Form2
应该怎么写代码?
我是菜鸟,高手帮帮我!!!
this.hide();
Form3 frm = new Form3();
frm.show(this);在Form3的Lable.Click事件里面添加如下:
for(int iCount = Application.OpenForms.Count -1;iCount>0;i--)
{
if(Application.OpenForms[iCount] != Form3)
{
Application.OpenForms[iCount].show();
}
}
this.Dispose();
{
Application.OpenForms[iCount].show();
break;
}
if(Application.OpenForms[iCount] != Form3)
{
Application.OpenForms[iCount].show();
break;
}
就上面的代码都有两处错误!!!
1是form3不能当做变量
2是SHOW那里也不行
public event EventHandler button1Click;
public UserControl1()
{
InitializeComponent();
button1.Click += new EventHandler(button1_Click);
} void button1_Click(object sender, EventArgs e)
{
if (button1Click != null)
{
button1Click(sender, e);
}
}
不过为什么我在这个button1Click里添加这样的代码
chosn_form frm = new chosn_form();
frm.Owner = this;
this.Hide();
frm.Show();
然后在Form3中返回的返回按钮里添加代码
this.Owner.show();
this.close();
运行后我在Form1中点击按钮后,会弹出两个Form3。为什么会这样?
经过很久的思考
我把他的这句代码button1Click(sender, e);
修改为button1Click(this, e);
可以得到我想要的效果
谢谢大家的帮忙
至于我提出的修改的事情,我开始的时候也没有搞懂,可是我想了很久,把那个修改为this后,就可以了
我也不知道到底是我的哪里出了问题!
最关键的是我这样修改了,就只会弹出一个窗口了,不管它了。