textBox が空かどうかを確認するときに問題があります。ここで多くの質問と回答を読みました。記載されているコードを使用しましたが、うまくいきませんでした。
textBox が空かどうかを確認したいだけで、空の場合は何かをし、そうでない場合は別のことをします。
これまでのところ、次のコードを試しました。
(textBox4 != null && !string.IsNullOrEmpty(textBox4.Text))
(textBox4.Text == "")
(!String.IsNullOrEmpty(textBox4.text)
(textBox4.Text != Stirng.Empty)
(textBox4.Text.Trim() == "")
(textbox4.Text.Length == 0)
エラーを示すコードはありませんが、それでも機能しません。これが私がやろうとしていることの完全なコードです:
private void textBox4_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
double a = Convert.ToDouble(textBox10.Text);
double c = Convert.ToDouble(textBox2.Text);
double d = Convert.ToDouble(textBox3.Text);
double ee = Convert.ToDouble((0.13 * d) * 2);
if (string.IsNullOrEmpty(textBox4.Text))
{
textBox15.Text = Math.Round((((((ee / 2) / c) * 0.13) + (d * 0.13)), 4).ToString();
}
else
{
textBox15.Text = (((((a / 2) / c) * 0.13) + (d * 0.13)) / b).ToString();
}
}
catch
{
}
}
(textBox 3,10,15 は IsReadOnly="True" で、キーボードは InputScope="Number" です)
私は何を間違っていますか?そこにあるすべてのコードをテストしたような気がしますが、textBox4 が空かどうかをチェックしない理由がわかりません。
編集: textBox4 に何かを書き込むと、コードが機能し、textBox4 からエントリを削除すると、textBox4 が空であることを検出します (ただし、それは遅いです)。
編集 2 : textBox15 のこの同じ If/Else コードは、関連する他のすべての textBoxes (1,2,3,4,10,15) の TextChanged イベントの下に書き込まれます。
If ステートメントと Else ステートメントにブレークポイントを設定すると、次の場合にのみ実行されます。
このコードは、textBox4 に何かを入力して削除した場合にのみ、If ステートメントに対して機能します。
何かを入力して削除し、再度入力した場合にのみ Else ステートメントで機能します。