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

Clique No Item De Lixtbox


ramon

Pergunta

Tenho uma listbox contendo um item duplo

Ramon      Novato

Quando eu clicar nessa linha eu preciso carregar o item para um outro form

Sendo Ramon para um textbox e Novato para um optionbutton cuja o caption dele se chama Novato do form2

Como faco para carregar o item clicado do lixbox ramon para textbox e novato para optionbuttom Novato do form2?

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

Um "item duplo"? Você diz um item no qual os espaços definem os diferentes elementos dentro dele? Se for, você pode usar a função Split() para separá-los para um vetor e daí preencher a textbox do outro form com o primeiro elemento do vetor e percorrer as optionbuttons do form procurando pelo segundo valor do vetor.

Qualquer dúvida, 'stamos aí.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Veja esse exemplo. No evento Load do form coloque:

List1.AddItem "Ramon Novato"
Depois coloque isso no evento Click de um botão:
    item_selecionado = List1.List(List1.ListIndex)
    vetor = Split(item_selecionado, " ")
    MsgBox vetor(0)
    MsgBox vetor(1)

Execute o programa, selecione a linha na listbox e clique no botão.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Cara... tente se esforçar um pouco... a lógica da coisa já foi toda apresentada. De qualquer forma, experimente isso:

    sItem = List1.List(List1.ListIndex)
    pos = InStr(1, sItem, " ")
    If pos > 0 Then
        primeiro = Left(sItem, pos)
        segundo = Right(sItem, Len(sItem) - pos)
        Text1.Text = primeiro
        Text2.Text = segundo
    End If

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Foi mal cara

Desculpe

Mas surgiu um problema aqui

Mas acontece que quando carrego minha lista as vezes tem mais de dois nomes numa linha

Tipo

Ramon Lourenco          Novato

Rubem                        Programador

Então eu gostaria de carregar somente o nome e o sobrenome para um textbox1 (ramon Lourenco) e a profissao Novato para o outro txetbox2

As vezes tem somente o nome e a profisão ai beleza funciona

Rubem Programador

Mas quando coloco um sobrenome ele carega o nome para o textbox1 e o sobrenome e a profisão para o outro textbox

Ficando assim:

Textbox1

Ramon

Textbox2

LourencoProgramdor

Gostaria de saber como separar ou seja, ficar como esta abaixo e sem copiar os espacos em branco que ficam depois do nome

Textbox1

Ramon Loureço

Textbox2

Novato

Faz ai para você ver

No load do form

List1.AddItem "Ramon Lourenco        Novato"

List1.AddItem "Rubem                      Programador"

Link para o comentário
Compartilhar em outros sites

  • 0

Com aquele exemplo mesmo você consegue fazer isso. Basta fazer uma simples modificação. No caso, a função InStr() procura pelo caracter " " (um espaço) na string. Para o que você quer, basta que ela procure por " " (dois espaços), já que o nome e o sobrenome não estarão separados por dois espaços e sim por um, enquanto que a separação do nome para a profissão será separada por dois ou mais espaços. E para tirar os espaços, basta usar as funções LTrim(), RTrim() e/ou Trim().

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

É realmente biggrin.gif

Valeu cara

Aproveitando

Em vez de eu carregar a profissão num textbox eu queria carregar num optionbutton ou seja seleciona ele

Tipo crio dois optionbutton

Novato

Programador

Digamos que eu escolha no listbox Ramon Novato então ramon iria para o textbox1 e novato teria que seleciona automaticamenteo optionbutton Novato

Como fazer isso?

Se não for pedir muito com exemplo

Link para o comentário
Compartilhar em outros sites

  • 0

Vejamos: a propriedade Value do OptionButton define se ele está marcado ou não, e a propriedade Caption define a legenda que aparecerá nele. Portanto, se temos na variável "profissão" o nome da profissão que foi escolhida na listbox, bastará usar o If para verificar se a legenda do(s) OptionButton(s) existente(s) é igual a mesma. Por exemplo:

if Option1.Caption=profissão then
  Option1.Value = True
elseif Option2.Caption=profissão then
  Option2.Value = True
elseif Option3.Caption=profissão then
  Option3.Value = True
endif

Existem ainda outras formas de se fazer isso (porém, para você que está começando, recomendo a alternativa apresentada acima). A título de curiosidade, apresento-as a seguir. Uma delas é criar um vetor de controles, dessa forma ao invés de Option1, Option2 e Option3, você teria Option1(0), Option1(1) e Option1(2). Dessa maneira é possível usar um For...Next para percorrer todos os índices de Option1. A outra forma é percorrer todos os controles do form, através da coleção Controls do mesmo. Para isso, pode-se usar um For Each...Next.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Eu usei essa mesma só que em vez da propiedade captiom coloquei a propiedade value

Não sei se é o certo, mas aqui funcionou?? biggrin.gif

If segundo = "Programador" Then Option1.Value = True
If segundo = "Novato" Then Option2.Value = True

Valeu!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Você não usou Value ao invés de Caption... note que são coisas distintas, não opostas. No caso, o que você fez foi verificar se a variável "segundo" tem o valor "Programador" ou "Novato" e daí marcou a OptionButton de acordo. Dá quase no mesmo que o exemplo que dei acima, a única diferença é que você descreve as strings no código ("Programador" e "Novato") enquanto que eu fiz usando a propriedade Caption das OptionButtons (que possuem exatamente estes mesmos valores).

E, parabéns pela solução!!!

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Bom tenho mais uma duvida

Depois de carregar o item selecionado para o textbox e para o optiombuttom eu quero fazer as modificações.

Tenho um arquivo txt salvo de onde eu estou carregando os item para um listbox cuja a propiedade da fonte é Curier New para alinhar os itens

Ele aparece exatamente assim no listbox

Ramon Lourenco            Novato

Carlos souza                Aprendiz

Rubem                        Programador

Depois de carregado Ramon Lourenco para o textbox e Novato para o optiombutton, o usuario resolve fazer uma modificação

O o usuario coloca um outro nome digamos roman silva no textbox e escolhe o optiombuttom aprendiz e clica no botão modificar

Terá que aparecer o nome Roman silva e a profissão Aprendiz no listbox em uma linha em baixo da profisão Aprendiz.

Ficando assim

Ramon Lourenco            Novato

Carlos souza                Aprendiz

Roman Silva                Aprendiz

Rubem                        Programador

Como fazer isso?? sad.gif

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...