我的窗體上有5個組合框,我想通過檢查用戶是否從這5個組合框中選擇了至少2個來驗證窗體。我怎樣才能寫這個條件在C#代碼?如何驗證是否至少選擇了5個組合框中的2個c#
我在谷歌和不同的網站上搜索了很多,但他們都討論在單個組合框中選擇多個值或者不是我的要求。
有人可以在這裏扔光嗎?感謝你的幫助。謝謝。
我的窗體上有5個組合框,我想通過檢查用戶是否從這5個組合框中選擇了至少2個來驗證窗體。我怎樣才能寫這個條件在C#代碼?如何驗證是否至少選擇了5個組合框中的2個c#
我在谷歌和不同的網站上搜索了很多,但他們都討論在單個組合框中選擇多個值或者不是我的要求。
有人可以在這裏扔光嗎?感謝你的幫助。謝謝。
您可以使用條件表達式來計算所選組合框的數量。
該表達
int oneIfSelected = comboBox1.Selectedindex != -1 ? 1 : 0;
將1
如果comboBox1
具有被選擇的項目;否則它將爲零。
現在,您可以構建一個檢查計數表達這樣的:
int totalSelected = (comboBox1.Selectedindex != -1 ? 1 : 0)
+ (comboBox2.Selectedindex != -1 ? 1 : 0)
+ (comboBox3.Selectedindex != -1 ? 1 : 0)
+ (comboBox4.Selectedindex != -1 ? 1 : 0)
+ (comboBox5.Selectedindex != -1 ? 1 : 0);
如果至少有五分之二的組合框有一個值來選擇,totalSelected
將至少爲2。所以,你可以做這樣的檢查如下:
if(totalSelected >= 2)
{
//Your code here
}
@lucky請參閱編輯。 – dasblinkenlight
太棒了!這樣可行。再次感謝:) – lucky
您可以訂閱的方法對SelectedValueChanged
事件你有所有組合框和有更新有關的組合信息,是這樣的:
Dictionary<ComboBox, int> combosInfo = new Dictionary<ComboBox, int>();
public void combo_SelectedValueChanged(object sender, EventArgs e) {
ComboBox c = sender as ComboBox;
if (c != null) {
combosInfo[c] = 1;
}
}
然後,在您要檢查有多少人已經值選擇,你可以這樣做:
int count = combosInfo.Values.Sum();
請記住,包括聲明using System.Linq
找到擴展方法Sum
。希望能幫助到你。
感謝您的回答,但上述答案似乎非常簡單明瞭。 – lucky
你有沒有試過的東西的代碼? – dimwittedanimal
我無法專門開始編寫這個條件..'至少有2出5' – lucky
是Windows還是ASP.NET,哪個框架? – Coding