Usuário com melhor resposta
Qual dos controles se encaixa melhor?

Pergunta
-
Olá, estou querendo criar uma rotina que contenha um controle que funcionará como se fosse um Booton, ao clicar nele, mude 100% de cor.
Já tenho visto isso sendo usado mas até hoje não consegui entender como isso é feito. Não sei se existe um controle especial para isso.
Tenho feito assim, usando PaintBrush, eu desenho um círculo e salvo-o.
Num Form, eu coloco um PictureBox e anexo à ele o desenho do círculo, ai faço PictureBox1.BackColor=Color.Green
Mas não consigo mudar a cor do circulo, no máximo muda a cor do contorno retangular do PictureBox.
Alguém saberia me dizer qual a técnica para que apareça só o circulo e que este mude a cor 100%?
Grato
Respostas
-
No Paint 3D é possível ter fundo transparente.
É bem chato, no Photoshop é muito mais fácil.
Segue link explicativo.
https://tecnoblog.net/322731/como-deixar-uma-imagem-com-fundo-transparente-no-paint/
MARIANO1776
- Marcado como Resposta Durval Teixeira quinta-feira, 3 de dezembro de 2020 20:11
Todas as Respostas
-
Prezado Durval.
Minha sugestão é usar duas imagens som círculos. Seguem sugestão.
Dim bool As Boolean = True
Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
If bool = False Then
bool = True
PictureBox1.Image = Image.FromFile("C:\Users\Mariano\Desktop\imagem_verde.bmp")
Else
bool = False
PictureBox1.Image = Image.FromFile("C:\Users\Mariano\Desktop\imagem_vermelha.bmp")
End If
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
If bool = False Then
bool = True
Button2.Image = Image.FromFile("C:\Users\Mariano\Desktop\imagem_verde.bmp")
Else
bool = False
Button2.Image = Image.FromFile("C:\Users\Mariano\Desktop\imagem_vermelha.bmp")
End If
End Sub
MARIANO1776
- Editado Mariano1776 domingo, 29 de novembro de 2020 01:47
-
Obrigado Mariano, vou testar o teu método. Fiz essa rotina abaixo ontem, funciona também.
Mas dessa tua ideia, me surgiu também fazer dois círculos iguais mas com cores diferentes no Brush.
Você sabe se tem como excluir as bordas de um PictureBox para aparecer apenas o círculo sem o contorno quadrado do PictureBox. Já olhei bastante nas propriedades do PictureBox e não vi essa possibilidade ainda.
Private Sub Button_Click(sender As Object, e As EventArgs) Handles Button4.Click, Button5.Click, Button6.Click, Button7.Click, Button8.Click, Button9.Click, Button10.Click, Button11.Click, Button12.Click, Button13.Click, Button14.Click, Button15.Click, Button16.Click, Button17.Click, Button18.Click, Button19.Click, Button20.Click, Button21.Click, Button22.Click, Button23.Click, Button24.Click, Button25.Click, Button26.Click, Button27.Click, Button28.Click
Dim botaoDez = New Button() {Button4, Button5, Button6, Button7, Button8, Button9, Button10, Button11, Button12, Button13, Button14, Button15, Button16, Button17, Button18, Button19, Button20, Button21, Button22, Button23, Button24, Button25, Button26, Button27, Button28}
Dim i As Integer = 0
For u = 0 To 24
If sender Is botaoDez(u) Then
If botaoDez(u).BackColor = Color.White Then
botaoDez(u).BackColor = Color.Red
dezSN(u + 1) = "escolhida"
numDezEsc += 1
dezEscPesq(u + 1) = u
If numDezEsc > 15 Then
numDezEsc = 15
botaoDez(u).BackColor = Color.White
MsgBox("Só pode escolher até 15 dezenas!!!")
End If
GoTo salta
End If
If botaoDez(u).BackColor = Color.Red Then
botaoDez(u).BackColor = Color.White
numDezEsc -= 1
dezSN(u + 1) = ""
dezEscPesq(u + 1) = 0
End If
End If
Next
salta:
For k = 1 To 25
dezEscPesq(k) = 0
Next
For v = 1 To 25
If dezSN(v) = "escolhida" Then
i += 1
dezEscPesq(i) = v
End If
Next
End Sub -
No Paint 3D é possível ter fundo transparente.
É bem chato, no Photoshop é muito mais fácil.
Segue link explicativo.
https://tecnoblog.net/322731/como-deixar-uma-imagem-com-fundo-transparente-no-paint/
MARIANO1776
- Marcado como Resposta Durval Teixeira quinta-feira, 3 de dezembro de 2020 20:11