Пролистать прозрачность для оконных форм Visual C#?
Я создал панель и установил ее на весь экран, теперь я могу видеть окна под ней, но я хочу, чтобы она пролистывалась, то есть они могли щелкнуть файл или увидеть подсказку другого объекта через прозрачность.
RE: Это может быть слишком очевидно, но вы пытались отправить панель назад, щелкнув правой кнопкой мыши и выбрав "Отправить обратно"?
Я имею в виду настольный компьютер или Firefox, а не что-то в моем проекте.
2 ответа
Создать прозрачную форму верхнего уровня очень просто. Просто сделайте так, чтобы он заполнил экран или требуемую область, и определите, чтобы он имел цвет 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);
}
Более простой метод, который может сработать.
шаг 1.) нажмите на панель в (дизайн)
шаг 2.) посмотрите в свойствах
шаг 3.) установите для Enabled значение False
это позволило мне перейти от моей панели к той, что за ней.