Вы можете просто добавить свойство 'Parent' в свои формы и установить его перед вызовом Show.
private void btnEnter_Click(object sender, EventArgs e)
{
this.Close();
newForm nf = new newForm();
nf.Parent = this;
nf.Show()
}
Ваша форма будет выглядеть так:
public class MyForm
{
public Form Parent {get;set;}
private void newForm_Load(object sender, EventArgs e)
{
if (this.Parent is oldForm)
{
//do some stuff here
}
else
{
//Do something different
}
}
}
Обратите внимание, что if (this.Parent is oldForm)
эквивалентно if (this.Parent.GetType() == typeof(oldForm))
Как сказано в одном из комментариев, если вы используете только свойство Parent для принятия этого единственного решения, вам лучше определить его как логическое свойство, называемое DoSomething
, которое указывает, что оно делает. Объединение этого с другим предложением дает:
public class MyForm
{
private bool specialMode;
public MyForm(bool mode)
{
this.specialMode = mode;
}
private void newForm_Load(object sender, EventArgs e)
{
if (this.specialMode)
{
//do some stuff here
}
else
{
//Do something different
}
}
}
который вы бы назвали так:
private void btnEnter_Click(object sender, EventArgs e)
{
this.Close();
newForm nf = new newForm(true); // SpecialMode = ON
nf.Show()
}