Visual Basic, VB .NET, ASP, Active X, Access, SQL Server

Cuidado com a propriedade Backcolor de alguns controles

Alguns controles do Visual Basic não ajustam corretamente a cor de fundo na área do texto. Isto acontece com CheckBoxes e Frames. Experimente criar um formulário com a propriedade Backcolor em amarelo e adicionar a ele um CheckBox e um Frame. Ajuste a propriedade Backcolor destes dois controles no evento Form_Load do formulário para que fiquem com a mesma cor da propriedade Backcolor do Form. Você verá com tristeza que aparecerá um texto com fundo branco tanto no CheckBox quanto no Frame. Um solução quebra-galho para isto é usar um Label sobre a área que seria ocupada pelos Captions dos controles. Torne a propriedade Backcolor do Label igual à propriedade Backcolor do Form no evento Load, e ajuste a propriedade BackStyle do Label para Opaque. No caso do Frame, o Label deve ser adicionado na área interna do Frame, caso contrário, você não conseguirá fazer com que ele se sobreponha ao Caption do Frame. Não esqueça de processar os eventos de clique e duplo clique sobre o Label para ajustar a propriedade Value do CheckBox, assim:

Private Sub Label1_Click()
    CheckBox1.Value = IIf(CheckBox1.Value = vbChecked, vbUnchecked, vbChecked)
End Sub