Crie um Formulário de Janela semi ou transparente transparente para eventos do mouse, exceto Controles adicionados ao formulário
Eu estava tentando obter uma forma transparente como um copo, o que permitia que o clique e todos os eventos do mouse passassem para as janelas ou itens atrás do vidr
Então este é o código que escrevi com o 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);
}
}
}
O problema com este código é que toda a janela fica transparente através da opacidade, mas controla esses botões ou controles deslizantes não retém a clicabilidad
EntãoEu precis Socorropar melhorar
1) @Retain controla a opacidade total (Não é necessário, mas importante)
2)Retain controla Clickability e Operatividade (DEVO
Eu aceito qualquer solução, mesmo alterando o projeto para WPF se isso puder ajudar a obter o resultado.
Obrigado pelo seu tempo.