Ir para conteúdo
Fórum Script Brasil
  • 0

Mudar A Cor Da Aba Do Tabcontrol


Ayres

Pergunta

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

  • 0

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 Sub

so 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

Link para o comentário
Compartilhar em outros sites

  • 0

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

Link para o comentário
Compartilhar em outros sites

  • 0

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 Sub

Favor me orientar, obrigado!

Att,

AYRES

Link para o comentário
Compartilhar em outros sites

  • 0

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

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...