2016-05-02 7 views
-1

私はこの方法で関数を実行しようとしましたが、MessageBoxを表示すると、GUIにジャンプして最後の文で間違ったメッセージが表示されます。ユーザーが文字列または負の数を入力することを禁止する方法

if (!(double.TryParse(Waisttb.Text, out waist) && double.TryParse(Heighttb.Text, out height))) { 
    MessageBox.Show("Please enter a valid number!"); 
} 
//no negative numbers 
if (waist < 0 || height < 0) { 
    MessageBox.Show("Please enter a valid number!"); 
} 
else { 
    //change to doubles 
    waist = double.Parse(Waisttb.Text); 
} 
+0

詳細を教えてください。 – Mostafiz

+0

マスクされたテキストボックスを使用してください! – C4u

答えて

2

ロジックを並べ替える必要があります。また、既に解析された値を再解析することはありません。

if (!(double.TryParse(Waisttb.Text, out waist) && double.TryParse(Heighttb.Text, out height))) 
{ 
    // input is not a valid number 
    MessageBox.Show("Please enter a vailable number!"); 
} 
else if (waist < 0 || height < 0) 
{ 
    // numbers are valid, but negative 
    MessageBox.Show("Please enter a vailable number!"); 
} 
else 
{ 
    // numbers are valid and positive. use them here 
} 
+0

ありがとう、それは動作します。 – Ryantt

+0

ようこそ。あなたが新しくなったので、それがあなたにとって有益だったら、答えを受け入れることを忘れないでください。あなたが行った前の投稿も見直してください。 –

関連する問題