C# 在事件中获取活动表单

C# 在事件中获取活动表单,c#,forms,winforms,selection,C#,Forms,Winforms,Selection,我希望用户点击一个表单来“选择”它,如果他点击一个按钮(在选择表单之后),我将能够将所选表单放入一个变量中 我的意思是: 假设我们打开了3个表单:SpecificFormType Form1,SpecificFormType Form2和SpecificFormType Form3。用户点击Form3,然后点击Form2,然后点击按钮 因此,在btn\u中单击我想这样做: private btn\u点击 { SpecificFormType SelectedForm=GetSelectedFor

我希望用户点击一个表单来“选择”它,如果他点击一个按钮(在选择表单之后),我将能够将所选表单放入一个变量中

我的意思是:

假设我们打开了3个表单:
SpecificFormType Form1
SpecificFormType Form2
SpecificFormType Form3
。用户点击
Form3
,然后点击
Form2
,然后点击按钮

因此,在
btn\u中单击
我想这样做:

private btn\u点击
{
SpecificFormType SelectedForm=GetSelectedForm();
//SelectedForm=Form2
}
这可能吗


对不起,如果我不清楚

您可以使用一个静态字段,该字段可以放在
SpecificFormType
类中:

static private SpecificFormType SelectedForm;
当用户点击表单时,在相应的事件上运行此指令:

SelectedForm = this;
当用户单击按钮时,您可以使用此字段:

... this.SelectedForm ...

那么btn_点击需要在被选择的表单上,或者选择的表单将是按钮打开的表单。。但是,您当然可以使用activeform并记下它。@BugFinder是的,“主”窗体将是选定的窗体,而我提到的三个窗体都不是,所以可能是以前选定的窗体?所以我可以得到我真正想要的?你可以在主窗体上有一个变量,其他窗体在激活时会更新,所以最后使用的一个始终在该变量中