método " DrawItem " Visual Basic permite que você crie controles imaginativos. O controle de caixa de listagem , por exemplo, exibe itens em uma lista , no entanto, só é possível alterar a cor do texto de cada item no controle . Para criar uma caixa de listagem aprimorada que exibe o texto de um item selecionado em uma cor diferente, você tem que fazer uma pequena alteração no método de " DrawItem " do ListBox. Instruções
Alterar cor do texto de todos os itens
1
Inicie o Visual Studio e crie um novo projeto Visual Basic Windows Forms. Um novo formulário chamado " Form1 " abre na janela de edição .
2
Clique no botão " Visualizar" e depois clique em " caixa de ferramentas " para abrir caixa de ferramentas do Visual Studio.
3
clique duas vezes no controle " ListBox " . Lugares Visual Studio -lo no formulário e os nomes de " ListBox1 ".
4
Clique no botão " ListBox1 " control e pressione " F4 " para ver a janela Propriedades . Esta janela permite que você defina as propriedades de um controle, como cor e tamanho .
5
Clique na propriedade " ForeColor " . Uma seta drop-down aparece ao lado da propriedade. Clique a seta para exibir um menu de cor contendo guias. A aba "System" exibe cores do sistema Windows , o guia " Web" exibe a lista de cores da Web ; . Ea guia "Custom" permite que você escolha sua própria cor a partir de uma grade de cores
6
Clique em um desses guias , clique na cor que você gostaria de usar para o texto de todos os itens de caixa de listagem .
7
Clique no item " BackColor " na janela Propriedades para exibir sua seta drop-down . Clique que a seta para escolher uma cor , tal como descrito na etapa anterior . Visual Basic , em seguida, usa a cor que você selecionou como a cor de fundo para todos os itens de caixa de listagem . Vá para a próxima seção, se você quer mudar a cor de apenas o item ListBox selecionado.
Alterar cor do texto de um item selecionado
8
Clique duas vezes na forma de barra de título. O código para o método de "Load" do formulário é aberto e exibe um método vazio "Load"
9
colar o seguinte código antes da declaração de que o método " End Sub " : .
ListBox1 . Items.AddRange (New Object () { "Item 1", " item ", " item ", " item 4" })
ListBox1.DrawMode = DrawMode.OwnerDrawFixed
A primeira declaração adiciona itens para o ListBox . A próxima instrução define o modo de desenho do controle para " OwnerDrawFixed ". Utilize este modo quando você quiser substituir o modo de desenho padrão do Visual Basic para um controle
10
Cole o seguinte código após a declaração de "Sub End" do método de "Load" : .
Privada Sub ListBox1_DrawItem (sender As Object , _
ByVal e As System.Windows.Forms.DrawItemEventArgs ) _
alças ListBox1.DrawItem
e.DrawBackground () < br >
Dim pincel como pincel = Brushes.Black
Se ( e.State E DrawItemState.Selected = DrawItemState.Selected ) Então
escova = Brushes.Green
End If
e.Graphics.DrawString ( ListBox1.Items ( e.Index ) . ToString () ,
e.Font , escova, _
e.Bounds , StringFormat.GenericDefault )
End Sub
Este código substitui o método " DrawItem " do ListBox. O método " DrawItem " é executado a cada vez Visual Basic chama um item de ListBox no controle.
11
Localize a instrução que lê, " Dim pincel como pincel = Brushes.Black ". Esta linha de código cria uma variável " pincel " que mantém a cor do pincel de desenho padrão. Neste caso, que a cor é "Black ". Mude "Black " para a cor que você gostaria de usar para desenhar os itens de caixa de listagem não selecionados . Por exemplo, se você quer mudar a cor de item padrão para vermelho , substitua a instrução anterior com este :
Dim pincel como pincel = Brushes.Red
12
Localize a seguinte declaração no código :
escova = Brushes.Green
Substituir " verde" com qualquer cor. Visual Basic , em seguida, usa essa cor para desenhar item selecionado da ListBox. A declaração final chama o método " DrawString " que atrai os itens de caixa de listagem .
13
Pressione " F5" para executar o programa . O formulário aparece e exibe a caixa de listagem e seus itens . Clique em qualquer item para selecioná-lo . Sua cor muda para a cor que você escolheu para o item selecionado . Todos os outros itens exibir a cor padrão.