C# 如何保持窗体处于激活状态
现在,我有两个表单,叫做form1和form2,在form1中有一个按钮,当我点击它,然后打开form2C# 如何保持窗体处于激活状态,c#,winforms,C#,Winforms,现在,我有两个表单,叫做form1和form2,在form1中有一个按钮,当我点击它,然后打开form2 private void button1_Click(object sender, EventArgs e) { Ges.produit.Add(p); Form3 f= new Form3(); f.dataGridView1.Rows.Clear(); foreach (var item in Ges.produit) {
private void button1_Click(object sender, EventArgs e)
{
Ges.produit.Add(p);
Form3 f= new Form3();
f.dataGridView1.Rows.Clear();
foreach (var item in Ges.produit)
{
f.dataGridView1.Rows.Add(item.Id, item.Name, item.Qty, item.Prac, item.Prav, item.Disc);
}
this.MdiParent = f.MdiParent;
f.Show();
this.Hide();
}
问题:在form2中,我单击它时创建了一个按钮,form2关闭并返回form1,而无需打开另一个form1。如何做?这有几种方法,一种方法是将父窗体的引用传递给其构造函数中的子窗体,然后在关闭子窗体时根据该引用调用show 另一种方法是在父窗体内创建子窗体,同时连接子窗体的FormClosed事件以重新显示父窗体 下面是这两种方法的示例
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnShowForm2_Click(object sender, EventArgs e)
{
var form2 = new Form2(this);
this.Hide();
form2.Show();
}
private void btnShowForm3_Click(object sender, EventArgs e)
{
var form3 = new Form3();
form3.FormClosed += (o, args) =>
{
this.Show();
};
this.Hide();
form3.Show();
}
}
public partial class Form2 : Form
{
private readonly Form1 _form1;
public Form2()
{
InitializeComponent();
}
public Form2(Form1 form1)
:this()
{
_form1 = form1;
}
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
_form1.Show();
}
}
您正在尝试的Post代码可能重复,因为您只需关闭form.private void按钮1_Click(object sender,EventArgs e){Ges.produit.Add(p);Form3 f=new Form3();f.dataGridView1.Rows.Clear();foreach(Ges.produit中的var项){f.dataGridView1.Rows.Add(item.Id、item.Name、item.Qty、item.Prac、item.Prav、item.Disc);}this.MdiParent=f.MdiParent;f.Show();this.Hide();}我将您的代码移到了我们可以实际阅读的问题。请随意删除您的评论。一般来说,不要害怕编辑您的问题以添加人们要求的详细信息。