Привет! Я пытался получить прозрачную форму, похожую на стекло, которая могла бы позволить проходить по клику и каждому событию мыши проходить к окнам или элементам за стеклом.
Так вот код, который я написал с WindowForms:
namespace ClickThroughMe
{
public partial class ClickThroughForm : Form
{
private int currentWindowStyle;
public ClickThroughForm()
{
InitializeComponent();
}
private void ClickThroughForm_Load(object sender, EventArgs e)
{
// Grab the Extended Style information for this window and store it.
currentWindowStyle = WindowLibrary.User32Wrappers.GetWindowLong(this.Handle, User32Wrappers.GWL.ExStyle);
// Set our window to "transparent", or invisible to the mouse.
SetFormToTransparent();
// Make our window the top-most form.
this.TopMost = true;
}
private void SetFormToTransparent()
{
// This creates a new extended style for our window, making it transparent to the mouse.
User32Wrappers.SetWindowLong(this.Handle, User32Wrappers.GWL.ExStyle,
(User32Wrappers.WS_EX) currentWindowStyle |
User32Wrappers.WS_EX.Layered |
User32Wrappers.WS_EX.Transparent);
}
}
}
Проблема с этим кодом заключается в том, что все окно становится прозрачным благодаря непрозрачности, но элементы управления таких кнопок или ползунков не сохраняют кликабельность.
Так что Мне нужна помощь до сделать его лучше.
1) Сохранить элементы управления Полная непрозрачность (Не требуется, но важно)
2) Сохранить элементы управления Clickability и Оперативность (ДОЛЖЕН)
Я принимаю любое решение, даже меняя проект на WPF , если это может помочь получить результат.
Спасибодля вас время.