Win8 - Winforms прозрачной формы мыши с интерактивными элементами управления в нем
Я пытаюсь сделать мышь прозрачной формой в win8 и winforms, которая содержит элементы управления, которые можно нажимать.
Я могу сделать мышь формы прозрачной, используя этот код
int initialStyle = GetWindowLong(this.Handle, -20);
SetWindowLong(this.Handle, -20, initialStyle | 0x80000 | 0x20);
(на win8 подход WndProc не работает)
Но когда я делаю мышь формы прозрачной, элементы управления, содержащиеся в этой форме, также прозрачны для мыши
Что я могу сделать?
1 ответ
Вы можете создать форму и установить оба BackColor
а также TransparencyKey
свойства к Color.Magenta
,
Скриншот:
Кликните, чтобы пройти через окно и дойти до того, что позади него, но если вы нажмете кнопку 1, кнопка будет нажата.
Примечание: трюк работает для некоторых цветов, например, если вы используете Color.Red, он будет прозрачным, но обрабатывает щелчки, но при использовании Magenta форма также будет прозрачной для мыши.