C# visualstudioopen&;用按钮关闭另一个窗体

C# visualstudioopen&;用按钮关闭另一个窗体,c#,visual-studio,C#,Visual Studio,我希望runbtn可以打开10个Form2线程,而stopbtn可以关闭所有Form2,stopbtn关闭所有Form2后,我希望runbtn可以重新打开所有Form2 namespace WindowsFormsApp1 { public partial class Main : Form { public Main() { InitializeComponent(); } Form2 fo

我希望runbtn可以打开10个Form2线程,而stopbtn可以关闭所有Form2,stopbtn关闭所有Form2后,我希望runbtn可以重新打开所有Form2

namespace WindowsFormsApp1
{
    public partial class Main : Form
    {
        public Main()
        {
            InitializeComponent();
        }
        Form2 formAction = new Form2();
        private void runbtn_Click(object sender, EventArgs e)
        {
            formAction.Show();  
        }

        private void stopbtn_Click(object sender, EventArgs e)
        {
            formAction.Close(); 
        }
    }
}

这就是我如何用runbtn打开Form2的10个线程,用stopbtn关闭所有Form2,然后用runbtn重新打开所有Form2。谢谢你的帮助

namespace WindowsFormsApp1
{
    public partial class Main : Form
    {
        public Main()
        {
            InitializeComponent();
        }        
        List<Form> formAction;
        private void runbtn_Click(object sender, EventArgs e)
        {            
            if (formAction == null)
            {
                formAction = new List<Form>() {
                new Form2(), new Form2(), new Form2(), new Form2(), new Form2(),
                new Form2(), new Form2(), new Form2(), new Form2(), new Form2()
                };
                foreach (var form in formAction)
                {
                    form.Show();
                }
            }
            else
            {
                MessageBox.Show("Form already open!");
            }                     
        }
        private void stopbtn_Click(object sender, EventArgs e)
        {
            if (formAction == null)
            {
                MessageBox.Show("It's already close!");
            }
            else
            {
                foreach (var form in formAction)
                {
                    form.Close();
                    formAction = null;
                }
            }            
        }        
    }
}
namespace WindowsFormsApp1
{
公共部分类Main:表单
{
公用干管()
{
初始化组件();
}        
列表形式;
私有void runbtn_单击(对象发送方,事件参数e)
{            
if(formAction==null)
{
formAction=新列表(){
新表单2()、新表单2()、新表单2()、新表单2()、新表单2()、新表单2(),
新表单2(),新表单2(),新表单2(),新表单2(),新表单2(),新表单2()
};
foreach(形成中的var形式)
{
form.Show();
}
}
其他的
{
Show(“表单已经打开!”);
}                     
}
私有void stopbtn_单击(对象发送方,事件参数e)
{
if(formAction==null)
{
Show(“它已经关闭了!”);
}
其他的
{
foreach(形成中的var形式)
{
form.Close();
formAction=null;
}
}            
}        
}
}

在列表中跟踪它们?表单不会在不同的线程上运行。从您的代码示例中不清楚您试图做什么。如果有10个Form2打开,停止按钮关闭哪一个form?最后一个?第一个?需要更多上下文。如果单击停止按钮,然后将这些表单放入
列表中,则所有10个表单2都将关闭。更新你的帖子,如果你不能让代码工作。所以我必须做10个表格?这不是我想要的。