私は、コンボボックスにデータがあることに基づいてストアドプロシージャを実行するボタンが1つあります。 if
複数のステートメントは、それぞれのコンボボックスのシナリオを説明するのに最適なコースですか?私は現在、私のコードをそういうものにしています - うまくいくが、少し遅いです。 C#とVS2013を使ってこの構文を書く方が良いでしょうか?1ボタン4 Comboboxes On Winフォーム
private void btn1_Click()
{
if (cbo1.Text.ToString() == "" && cbo2.Text.ToString() == "" && cbo3.Text.ToString() == "" && cbo4.Text.ToString() == "")
{
MessageBox.Show("You failed to make a selection.");
return;
}
if (cbo1.Text.ToString() != "" && cbo2.Text.ToString() == "" && cbo3.Text.ToString() == "" && cbo4.Text.ToString() == "")
{
//Go route1
}
if (cbo1.Text.ToString() == "" && cbo2.Text.ToString() 1= "" && cbo3.Text.ToString() == "" && cbo4.Text.ToString() == "")
{
//Go route2
}
if (cbo1.Text.ToString() == "" && cbo2.Text.ToString() == "" && cbo3.Text.ToString() != "" && cbo4.Text.ToString() == "")
{
//Go route3
}
if (cbo1.Text.ToString() == "" && cbo2.Text.ToString() == "" && cbo3.Text.ToString() == "" && cbo4.Text.ToString() != "")
{
//Go route4
}
}
EDIT
@MethodMan - >あなたがチェックのセットアップについては行くだろうかこれは?
var comboBoxes = this.Controls
.OfType<ComboBox>()
.Where(x => x.Name.StartsWith("comboBox"));
foreach(var cmbBox in comboBoxes)
{
(string.IsNullOrEmpty(cmbBox.Text)) || if (cmbBox.SelectedIndex == -1)
{
//How to find which combobox is cmbBox
}
}
なぜこのコードが遅いのですか? – LarsTech
@LarsTech - 私がそれを実行すると、それは鈍いです。そのため、構文を書く方がいいかどうか尋ねる理由です。 –
これを行うと、読みやすくするためのいくつかの方法があります.Controlsクラスを使用してコンボボックスであるかどうかを確認し、string.IsNullOrEmpty関数を使用して.Textプロパティが空でない場合。 – MethodMan