Jump to content

Recommended Posts

Posted

Boas, hoje é o meu dia das dúvidas 😛

Tenho aqui uma lista de checkbox's que dependendo da selecção do utilizador é apresentado os dados referentes à escolha.

Bem o que acontece é que se o utilizador clicar em duas ou mesmo em todas... o programa vai dar erro ou não vai funcionar.

Gostaria de saber como posso evitar isso...

Experimentei criar um tipo de condição, mas não me saiu bem...

oram vejam o que fiz... deu logo erro 😛

If kuanzacheck.Checked & dolarcheck.Checked = True Then
	    MessageBox.Show("Por favor escolha apenas uma moeda")
    ElseIf kuanzacheck.Checked & eurocheck.Checked = True Then
	    MessageBox.Show("Por favor escolha apenas uma moeda")
    ElseIf eurocheck.Checked & dolarcheck.Checked = True Then
	    MessageBox.Show("Por favor escolha apenas uma moeda")

Como é que posso colocar isto a funcionar?

Ainda experimentei criar botões e facilitar a coisa, mas não é o mesmo trabalho 😛

Cumprimentos

Posted

Não, devo ter respondido ao mesmo tempo que tu...

Utilizei assim:

Private Sub eurocheck_CheckedChanged(sender As Object, e As EventArgs) Handles eurocheck.CheckedChanged
    kuanzacheck.Enabled = False
    dolarcheck.Enabled = False
   End Sub

Mas se calhar numa próxima fase vai ter mesmo que ser com radiobutton


Obrigado 
Posted

Controlar dessa forma as CheckBoxes é uma dor de cabeça. Imagina que numa outra aplicação tens umas 20? E suspeito que esse teu código não funcione na perfeição, não estou a ver como voltas a colocar as checkboxes enabled para o utilizador mudar a sua opção de escolha...

Knowledge is free!

Posted

Sim deve ser realmente uma dor de cabeça, devia colocar os radio buttons que ajudam nisso, mas como estou a por em hipotese de mais tarde puder escolher 2 checkbox's fica já preparado 😉

Para retornar para enable passo a explicar...

depois de selecionar o tipo de moeda terão que clicar num botão... que abre um form.

Nesse form tem o conversor onde colocam o valor e assim e tem um botão para regressar à escolha da moeda... ao clicarem nesse botão:

form1.dolarcheck.enable = true 😛

Posted

Imagina que selecciono o CheckBox errado... acertei ao lado, p.e., estás-me a obrigar a percorrer o processo todo!

Não podes pensar só na tua perspectiva de "é bem simples" - tens de pensar na perspectiva de utilizador, e nesta perspectiva tens de prever o máximo de erros possíveis de este cometer.

Se não farás aplicações non-friendly para os utilizadores, e isso é menos de meio caminho andado para o fracasso.

Knowledge is free!

Posted (edited)

Não, se te enganares tiras de lá o check e escolhes outra 😛

Está tudo bem pensado 😛

Isto é a pensar em utilização para o negócio da empresa, mas mais tarde vou colocar mais moedas e criar uma aplicação mais completa e quem sabe comercializa-la 😛

Eu percebo a tua dúvida... mas entretanto já fiz umas modificações depois de publicar esse código 😛

Ora vê o que fiz...

Private Sub kuanzacheck_CheckedChanged(sender As Object, e As EventArgs) Handles kuanzacheck.CheckedChanged
	dolarcheck.Enabled = False
	eurocheck.Enabled = False
	If kuanzacheck.Checked = True Then
		Button1.Visible = True
		Button1.Text = "Kuanza"
	Else
		Button1.Visible = False
		dolarcheck.Enabled = True
		eurocheck.Enabled = True
	End If
End Sub

Possivelmente esta maneira de programar pode ser incorrecta pois pode tornar a aplicação lenta por ter muito código... mas isso melhor que vocês para me dizerem se estou a programar mal.

A verdade é que lá me desenrasquei 😛

Edited by ribeiro55
Posted

Ah, este código não nos era conhecido... Assim está melhor... xD

Apesar dos RadioButton fazerem isso de forma muito mais eficiente.

E não tens o código optimizado.

Que tal isto?

   Private Sub kuanzacheck_CheckedChanged(sender As Object, e As EventArgs) Handles kuanzacheck.CheckedChanged
           Button1.Visible = kuanzacheck.Checked
           dolarcheck.Enabled = Not kuanzacheck.Checked
           eurocheck.Enabled = Not kuanzacheck.Checked            

           If kuanzacheck.Checked Then Button1.Text = "Kuanza"
   End Sub

Não é preciso fazer "kuanzacheck.Checked = True", pois isso é uma redundância... Uma condição é um booleano, e tu estás a ver se True = True... Ora, basta colocar directamente o valor booleano na condição e já está!

Assim simplifica-se muito o código, vê só a beleza do que eu escrevi 😛

Knowledge is free!

Posted

Eu sei por isso é que também não estava a perceber onde é que tinhas dúvidas, só depois reparei que fiz a introdução do código depois.

Assim está muito melhor... vou me divertir a mudar esses aspectos, pois acredito que deverão melhorar também a fluídez da aplicação, apesar de ser uma aplicação muito básica (para mim é uma dor de cabeça 😛 )

Posted

Sem dúvida, falta-me só agora terminar o problema com o cambio, que estou com problemas em relação ao guardar a taxa e dou como acabada...

Para mim está funcional e prática 😉

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
×
×
  • Create New...

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.