Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Leudassdf

Problema em listbox

Recommended Posts

Leudassdf

Boas pessoal

Eu tenho uma listbox e gostaria que ao mudar o "texto" selecionado ele mostra-se a "traduçao" do mesmo numa label.

Eu fiz isto:

Protected Sub DropDownList1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DropDownList1.SelectedIndexChanged
	For i = 0 To 8
		If LCase(ListBox1.Items(i).Value.ToString) <> LCase(DropDownList1.SelectedItem.Value.ToString) Then
			ListBox1.Items(i).Enabled = False
		Else
			ListBox1.Items(i).Enabled = True
		End If
	Next
	lbl_significado.Text = ""
End Sub	Protected Sub ListBox1_Load(sender As Object, e As EventArgs) Handles ListBox1.Load
	For i = 0 To 8
		If LCase(ListBox1.Items(i).Value.ToString) <> LCase(DropDownList1.SelectedItem.Value.ToString) Then
			ListBox1.Items(i).Enabled = True
		Else
			ListBox1.Items(i).Enabled = True
		End If
	Next
	lbl_significado.Text = ""
End Sub	Protected Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
	Select Case LCase(ListBox1.SelectedItem.Text)
		Case "hello"
			lbl_significado.Text = "Olá"
		Case "i love you"
			lbl_significado.Text = "Amo@te"
		Case "i desire you"
			lbl_significado.Text = "Desejo-te"
		Case "ich wünsche ihnen"
			lbl_significado.Text = "Desejo-te"
		Case "te amo"
			lbl_significado.Text = "Amo@te"
		Case "estoy sorprendido"
			lbl_significado.Text = "Estou Estupfato"
		Case "jsem ohromen"
			lbl_significado.Text = "Estou Estupfato"
		Case "miluji tě"
			lbl_significado.Text = "Amo@te"
		Case "Ich will dich"
			lbl_significado.Text = "Desejo-te"
	End Select

O problema é que no codigo se tiver o autopostback ativo nunca consigo selecionar nada pois ele esta sempre a selecionar o primeiro item.

Se o autopostback estiver desligado o selectindexchange nao dispara.

Alguem sabe como posso resolver este problema?

Edited by Caça
GeSHi

Share this post


Link to post
Share on other sites
Patanyska

Olá Leudassdf

Li que a tua ListBox tem sempre o primeiro item seleccionado... ou seja, presumo que tenhas alguma linha pelo teu código tal como: ListBox1.SelectedIndex = 0 ou ListBox1.SelectedValue = "hello"

Caso tenhas, sugiro que a tires, isto porque ao indicares por defeito um item seleccionado, isto vai disparar o evento ListBox1_SelectedIndexChanged e nunca mais consegues sair do resultado do primeiro item.

Fico a espera que me digas algo :)

Share this post


Link to post
Share on other sites
Leudassdf

Olá Leudassdf

Li que a tua ListBox tem sempre o primeiro item seleccionado... ou seja, presumo que tenhas alguma linha pelo teu código tal como: ListBox1.SelectedIndex = 0 ou ListBox1.SelectedValue = "hello"

Caso tenhas, sugiro que a tires, isto porque ao indicares por defeito um item seleccionado, isto vai disparar o evento ListBox1_SelectedIndexChanged e nunca mais consegues sair do resultado do primeiro item.

Fico a espera que me digas algo :)

Boas,

O problema nem era esse. Pelo menos o meu nao era.

O que aconteceu foi o seguinte: Alguns values dos items eram iguais. Ao mudar os values de forma a que ficassem todos diferentes a listbox ficoua funcionar na perfeiçao. Depois fiz mais alguns testes e verifiquei que realmente os values dos items nao podem ser iguais.

No entanto agradeço a tua resposta.

Cumprimentos

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.