Posso criar botões transparentes no Visual Studio 2005 com c #

Eu tenho uma interface de usuário que requer colocar alguns botões redondos em um projeto C# com alguns dados por trás deles. Os botões são System.Windows.Forms.buttons e usei uma imagem GIF com transparência para criá-los. No entanto, as áreas transparentes não são transparentes. Procurei referências on-line, mas não encontrei sugestões de como fazer isso corretamente. Há alguma menção de fazê-lo no Visual Studio 2008, mas eu preciso manter este projeto em 2005. Qualquer ajuda ou sugestão é apreciada.

6

4 Respostas

Tenho certeza que você precisa usar PNGs com WinForms para obter transparência de imagem. Eu sei que os usei com sucesso.

EDIT: quando eu usei os PNGs, eu estava sobrepondo-os com o controle de imagem para o Form1.BackgroundImage; Eu não estava usando em botões.

Eu acho que sua melhor aposta é mudar de usar um controle de botão para usar um controle de imagem. Você também pode tentar mudar o estilo do botão para plano (acho que era plano, talvez um dos outros estilos) e ver se você consegue o efeito desejado.

1
adicionado
Obrigado, amdfan. Vou ver se consigo fazer isso funcionar.
adicionado o autor Sean, fonte

Tente isto:

        Bitmap temp = new Bitmap(button1.Image);

        temp.MakeTransparent(Color.Black); //your transparent color, in this case black

        button1.Image = (Image) Logo;

        temp.Dispose();

        temp = null;
1
adicionado

Just set the Button's FlatStyle property to "Flat"…and voilà! I know this works with PNGs, but I haven't tested it with GIFs.

1
adicionado

A seguinte resposta é verificada no Visual Studio 2012 e funciona com o formato backgroundImage BMP, GIF, PNG e JPG; criado pelo MS Paint.

Para tornar o seu fundo visível através do seu botão:

Vá para a janela de propriedades do botão. Em seguida, altere o FlatStyle e BackColor conforme mostrado na imagem abaixo:

The FlatStyle is to be chosen as Flat

The color is to be chosen from Web Tab

Nota: A cor deve ser escolhida na guia Web e o FlatStyle deve ser escolhido como plano.

But after this, the button will be transparent till mouse do not hover or it is selected or pressed. On that condition, it will be in some non-transparent color. If you want to make it always transparent, follow the following images and change the corresponding colors to transparent as before. The colors to be changed are: 'MouseOverBackColor' & 'MouseDownBackColor'.

enter image description here

enter image description here

Nota: Se você escolher sempre transparente, como mostrado, não haverá alteração na aparência do botão enquanto ele estiver em ação!

Espero que isso ajude você.

Boa sorte!

0
adicionado