コントロールの 2 つのグループがあります。
最初のものには、a、b、c という名前の 3 つのテキストボックスが含まれています。それらはすべて同時に有効または無効にすることができます。
2 番目のグループには、2 つのテキスト ボックス (d と e) が含まれます。一度に 1 つだけ有効になります。
これで、次の場合に true となるブール変数 (ok という名前) が作成されました。
- a、b、c の少なくとも 1 つが有効で、かつテキストが含まれている
- 有効な 2 番目のグループのテキスト ボックスにテキストが含まれています
- テキストを含めずに有効にすることはできません
そして、1回の呼び出しですべてを確認したい。
ここに私が得るものがあります:
bool ok =
(
(
(
(!a.IsEnabled ||
(a.IsEnabled && !String.IsNullOrWhiteSpace(a.Text))) &&
(!b.IsEnabled ||
(b.IsEnabled && !String.IsNullOrWhiteSpace(b.Text))) &&
(!c.IsEnabled ||
(c.IsEnabled && !String.IsNullOrWhiteSpace(c.Text))) &&
(a.IsEnabled || b.IsEnabled || c.IsEnabled)
)
) &&
(
(!d.IsEnabled ||
(d.IsEnabled && !String.IsNullOrWhiteSpace(d.Text))) &&
(!f.IsEnabled ||
(f.IsEnabled && !String.IsNullOrWhiteSpace(f.Text)))
)
);
それは目にはかなり重いです、それを単純化する方法について何か考えはありますか?