Если вы просто пытаетесь смоделировать вызов Form.ShowDialog, но БЕЗ блокирования чего-либо (что-то вроде формы смоделированного диалога), вы можете попробовать использовать Form.Show (), и как только вы показываете смоделированную диалоговую форму, немедленно отключите все другие окна используют что-то вроде ...
private void DisableAllWindows()
{
foreach (Form f in Application.OpenForms)
if (f.Name != this.Name)f.Enabled = false;
else f.Focus();
}
Тогда, когда вы закроете "псевдо-диалоговую форму", обязательно позвоните ....
private void EnableAllWindows()
{
foreach (Form f in Application.OpenForms) f.Enabled = true;
}