Вы можете использовать событие OnActivate
, чтобы скрыть владельца, и событие Dispose
, чтобы показать владельца. Это решение работает, даже если form_b не вызывается из другой формы:
Код в форме_x:
FormB f = new FormB();
f.Show(this);
Код в форме_b
this.Activated += new System.EventHandler(this.HideOwner);
private void HideOwner(object sender, EventArgs e)
{
if (this.Owner != null) this.Owner.Hide();
}
protected override void Dispose(bool disposing)
{
if (this.Owner != null) this.Owner.Show();
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}