Щелкните прозрачность для оконных форм Visual С#?

Я сделал панель и установил ее, чтобы заполнить экран, теперь я могу видеть окна под ним, но я хочу, чтобы он щелкнул, что означает, что они могут щелкнуть файл или увидеть подсказку другого объекта через прозрачность.

RE: Это может быть слишком очевидно, но попробовали ли вы отправить панель обратно, щелкнув правой кнопкой мыши и выбрав "Отправить на задний план"?

Я имею в виду как рабочий стол или firefox, а не что-то в моем проекте.

Ответ 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);
    }