Ответ 1
Создание прозрачной формы верхнего уровня очень просто. Просто заставьте его заполнить экран или требуемую область и определить его, чтобы иметь цвет TransparenyKey и BackColor того же значения.
Как игнорировать мышь достаточно просто, вам просто нужно переопределить WndProc и сообщить WM_HITTEST, что все позиции мыши должны рассматриваться как прозрачные. Таким образом, мышь взаимодействует с тем, что происходит под окном. Что-то вроде этого...
protected override void WndProc(ref Message m)
{
if (m.Msg == (int)WM_NCHITTEST)
m.Result = (IntPtr)HTTRANSPARENT;
else
base.WndProc(ref m);
}