Pergunta

Eu fiz um painel e configurá-lo para preencher a tela, agora eu posso ver as janelas menores, mas eu quero que seja através do clique, o que significa que pode clicar em um arquivo ou ver uma dica de ferramenta de outro objeto através da transparência.

RE:? Isso pode ser muito óbvio, mas você já tentou enviar o painel para a parte de trás com o botão direito e escolher "Enviar para trás"

Quer dizer como o desktop ou o Firefox, não é algo dentro do meu projeto.

Foi útil?

Solução

Criando um formulário de nível superior que é transparente é muito fácil. Apenas torná-lo preencher a tela, ou área exigida, e defini-lo para ter uma cor TransparenyKey e BackColor do mesmo valor.

Fazer tudo para ignorar o mouse é suficiente simples, você só precisa substituir o WndProc e dizer ao WM_HITTEST que todas as posições do mouse devem ser tratados como transparente. Assim fazendo com que o mouse para interagir com o que acontece a ser debaixo da janela. Algo assim ...

    protected override void WndProc(ref Message m)
    {
        if (m.Msg == (int)WM_NCHITTEST)
            m.Result = (IntPtr)HTTRANSPARENT;
        else
            base.WndProc(ref m);
    }
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top