При вызове формы вы можете передать параметр ее конструктору, определяющий, открыта ли уже какая-либо другая форма, и, если это так, вы можете уменьшить непрозрачность самой верхней формы.Чтобы узнать, сколько форм открыто, вы можете использовать
if(Application.OpenForms.Count > 1)
this.Opacity = 0.75;
else
this.Opacity = 1.0;
Надеюсь, эта помощь