Ayres Postado Abril 13, 2006 Denunciar Share Postado Abril 13, 2006 Bom Dia! Pessoal estou querendo mudar a a cor da fonte da Aba quando é clicado no Tabcontrol então eu fiz assim... Private Sub TabControl1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabControl1.SelectedIndexChanged Select Case TabControl1.SelectedIndex Case (0) TabControl1.ForeColor.Blue() Case (1) 'muda a cor tb Case (2) 'muda a cor tb End Select End Sub So que ao deixar "TabControl1.ForeColor.Blue()" da erro de Property access must assign to the property or use its value. So uma obs eu preciso identificar qual o texto da aba sera mudada a cor. E quando é clicado em uma Aba a aba anterior que estava em azul por exemplo preciso retornar a cor preta. o que consegui tb foi Me.TabPage1.BackColor = System.Drawing.Color.Blue mas isso não atende preciso referente a fonte da Aba ativa que mude de cor. alguém tem uma sugestao? ObrigadoAyres Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Abril 13, 2006 Denunciar Share Postado Abril 13, 2006 Você teria que fazer...TabControl1.ForeColor = Color.Blue... não? Note que é igual ao que você mesmo falou do BackColor.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ayres Postado Abril 15, 2006 Autor Denunciar Share Postado Abril 15, 2006 Fala rapaz obrigado pela resposta.entoa eu fiz assim... Private Sub TabControl1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Select Case TabControl1.SelectedIndex Case (0) TabControl1.ForeColor = Color.Blue Case (1) TabControl1.ForeColor = Color.Blue Case (2) TabControl1.ForeColor = Color.Red End Select End Subso que não funcionou!obs, não deveria especificar o text da aba que foi selecionada?mesmo já eu trabalhando com index para identificar qual foi a aba selecionada eu acho que tenho que informar o texto da tabpage.caso tenha um palpite agradeco.qualquer coisa valeu!Ate +AYRES Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Abril 15, 2006 Denunciar Share Postado Abril 15, 2006 Na verdade o que ForeColor muda é a cor do conteúdo da aba, e não do título dela. No caso, o título obedece a cor estabelecida no Windows. Se você fizer... TabControl1.TabPages(0).ForeColor = Color.Blue TabControl1.TabPages(1).ForeColor = Color.Green TabControl1.TabPages(2).ForeColor = Color.Red... cada uma das abas terá um cor diferente, mas não no título e sim em seu interior. Para ver isso realmente é só colocar uma Label dentro de cada uma e você verá que cada Label terá a respectiva cor.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ayres Postado Abril 17, 2006 Autor Denunciar Share Postado Abril 17, 2006 Cara consegui veja como ficou so que agora eu tenho outro detalhe... eu tenho um programa com Tabcontrol e estou precisando deixar o texto da Aba do Tabcontrol escrito na vertical de baixo para cima.já me passaram em deixar em vertical agora só falta o texto ser escrito de baixo para cima.segue o fonte que tenho: Private Sub TabControl1_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles TabControl1.DrawItem Dim tc As TabControl = DirectCast(sender, TabControl) Dim caption As String = tc.TabPages(e.Index).Text Dim sf As New StringFormat sf.Alignment = StringAlignment.Center sf.LineAlignment = StringAlignment.Center sf.FormatFlags = StringFormatFlags.DirectionVertical Dim b As Brush If e.Index = tc.SelectedIndex Then b = New SolidBrush(Color.Blue) Else b = New SolidBrush(Color.Black) End If e.Graphics.DrawString( _ caption, e.Font, b, New RectangleF( _ e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height), sf) e.Graphics.Dispose() sf.Dispose() b.Dispose() End SubFavor me orientar, obrigado!Att,AYRES Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Abril 18, 2006 Denunciar Share Postado Abril 18, 2006 O seu código já faz isso. O problema é que a altura das "abas" não permite escrever algo grande. Mas, faça o teste: Dim sf As New StringFormat sf.Alignment = StringAlignment.Center sf.LineAlignment = StringAlignment.Center sf.FormatFlags = StringFormatFlags.DirectionVertical Dim g As Graphics = TabControl1.TabPages(0).CreateGraphics() g.DrawString("teste", New Font("Tahoma", 10), Brushes.Black, 20, 20, sf)Você vai ver que o texto vai ser escrito do jeito que você quer no interior da primeira página do TabControl.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest 50minutos Postado Dezembro 21, 2007 Denunciar Share Postado Dezembro 21, 2007 veja em: http://www.50minutos.com.br/?p=183 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Ayres
Bom Dia!
Pessoal estou querendo mudar a a cor da fonte da Aba quando é clicado no Tabcontrol então eu fiz assim...
Private Sub TabControl1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabControl1.SelectedIndexChanged
Select Case TabControl1.SelectedIndex
Case (0)
TabControl1.ForeColor.Blue()
Case (1)
'muda a cor tb
Case (2)
'muda a cor tb
End Select
End Sub
So que ao deixar "TabControl1.ForeColor.Blue()" da erro de Property access must assign to the property or use its value.
So uma obs eu preciso identificar qual o texto da aba sera mudada a cor.
E quando é clicado em uma Aba a aba anterior que estava em azul por exemplo preciso retornar a cor preta.
o que consegui tb foi Me.TabPage1.BackColor = System.Drawing.Color.Blue mas isso não atende preciso referente a fonte da Aba ativa que mude de cor.
alguém tem uma sugestao?
Obrigado
Ayres
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.