Inquiridor
Bloqueando negativo ou nada

Pergunta
-
Olá pessoal.
Estou tentando bloquear a possibilidade do utilizador de colocar o caractere negativo ou nada e executar o programa. Assim causando erro.
Código:
Pastebin: link
using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Microsoft.Phone.Controls; namespace PhoneApp1 { public partial class Newton : PhoneApplicationPage { public Newton() { InitializeComponent(); } private void OK_Click(object sender, RoutedEventArgs e) { double a = 0, b = 0, c = 0; a = (((double.Parse(TempNewton.Text) * 60) / 11) + 32); b = (((double.Parse(TempNewton.Text)) * 100)/ 33); c = (((double.Parse(TempNewton.Text) * 100) / 33) + 273.15); { RFahrenheit.Text = a.ToString(); RCelsius.Text = b.ToString(); RNewton.Text = c.ToString(); } } private void negativo_Click(object sender, RoutedEventArgs e) { if (TempNewton.Text.StartsWith("-")) TempNewton.Text = TempNewton.Text.Substring(1); else TempNewton.Text = "-" + TempNewton.Text; } private void button1_Click(object sender, RoutedEventArgs e) { NavigationService.GoBack(); } protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e) { base.OnBackKeyPress(e); if (TempNewton.Text != string.Empty) { var result = MessageBox.Show("Tem certeza que quer sair?", "Aviso", MessageBoxButton.OKCancel); if (result != MessageBoxResult.OK) { e.Cancel = true; } } } } }
Linha 24 e 25.
Tentei usar if, mas não funcionou corretamente. Possuem alguma idéia?
Obrigado
- Editado pp.amorim domingo, 29 de abril de 2012 17:16
domingo, 29 de abril de 2012 17:15
Todas as Respostas
-
Ora viva, não percebi muito bem o que pretendes, mas uma coisa notei no teu código: a linha que tem o base.OnBackKeyPress(e); devia de ser a última do bloco de código, não a primeira (senão ele nunca assume o e.Cancel = true; que lá tens! ;)
Pedro Lamas
DevScope | Senior Software Development Engineer & WP7 Development Speaker
www.pedrolamas.com | @pedrolamasdomingo, 29 de abril de 2012 18:45 -
Olá.
Seguinte, se deixar o campo vazio e apertar OK. Ele dá erro:
O mesmo ocorre de escrever "-":
Ele dá erro e trava o programa. Gostaria de saber se é possivel adicionar um aviso por MessageBox quando o erro ocorrer.
- Editado pp.amorim domingo, 29 de abril de 2012 22:34
domingo, 29 de abril de 2012 19:31 -
Olá,
O ideal é que vc realize a validação do seu campo, antes de enviar o valor para realizar o cálculo.
Caso o valor não seja permitido, pode exibir um MessageBox, ou então mudar a borda do controle para vermelho e etc.
[]s
Thiago J. Mônaco
MVP Windows Phone Development
MCP, MCAD, MCSD, MCDBA, MCTS, MCPD and MCT Professional
Scrum Developer I and Professional Scrum Master
http://www.windowsphonebrasil.net
@thiagojmonaco
segunda-feira, 30 de abril de 2012 14:20