Pergunta

Eu tentei o C # Kicks para uma forma alfa-blended . Isso funciona (assim que eu remover a propriedade TransparencyKey); ou seja, eu posso usar o W3C PNG alpha imagem de teste e veja outras janelas por baixo, mas faz todos os controles no formulário invisível. Presumivelmente, eles simplesmente não são pintados, como OnPaint é substituído. Tentei ligar OnPaint da superclasse:

Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
    UpdateFormDisplay()

    MyBase.OnPaint(e)
End Sub

, mas isso não muda nada. (Calling MyBase.OnPaint início não faz qualquer diferença quer.)

Infelizmente a maioria dos artigos sobre formas alfa-blended foco em telas de apresentação puros, sem qualquer controle sobre eles - mas precisamos de um painel que primeiros shows sign-nos campos, em seguida, uma barra de progresso

.

Os controles, por sinal, não precisa de transparência; é apenas nas bordas exteriores que a transparência do PNG realmente importa. Então, fingindo isso adicionando outra forma em cima de tudo isso (com os dois sempre se movendo em conjunto) pode ser suficiente, mas eu preferiria uma solução suave.

Foi útil?

Solução

estranho, de qualquer maneira, este artigo abrange uma forma alfa transformadas com controlos:

http://www.codeproject.com/KB/miscctrl/AlphaForm.aspx

Outras dicas

Tente colocar isso em seu formulário de ctor após InitializeComponents ();

base.SetStyle (ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint, true);

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top