switch帶入條件
case做季節判斷 並SHOW出訊息
直到break跳出程式區塊
default則是例外處理
來看下面範例
private void btn_true_Click(object sender, EventArgs e)
{
switch (cbox_select.SelectedIndex + 1)//Selectedindex由0開始所以+1
{
case 3://如果是3.4.5月
case 4:
case 5:
MessageBox.Show("春季", "提示!");
break;//跳出程式區塊
case 6://如果是6.7.8月
case 7:
case 8:
MessageBox.Show("夏季", "提示!");
break;
case 9:
case 10:
case 11:
MessageBox.Show("秋季", "提示!");
break;
case 12:
case 1:
case 2:
MessageBox.Show("冬季", "提示!");
break;
default://如果沒有選擇月份彈出提示訊息
MessageBox.Show("請選擇月份", "提示!");
break;
}
}
不只可以做數值判斷 也可以做 字串與布林的判斷
下面範例為 判斷 True與Flase
private void button1_Click(object sender, EventArgs e)
{
switch (radioButton1.Checked)
{
case true:
MessageBox.Show("true");
break;
case false:
MessageBox.Show("false");
break;
}
}
再來是字串上的判斷範例如下
private void button2_Click(object sender, EventArgs e)
{
switch (comboBox1.SelectedItem.ToString())
{
case "左楠":
MessageBox.Show("加油站");
break;
case "NXP":
MessageBox.Show("半導體");
break;
case "請選擇公司名稱":
MessageBox.Show("請點選下拉式清點選擇");
break;
}
}
上面程式碼在執行過程中 出了一點問題
來記錄一下在製作範例過程遇到的問題與排除方式
原因如下:
發現如果使用者,選空白選項時
不能使用default來使用例外處裡,原因是
在selectedindex為null值時,無法做ToString轉換
下面稍微研究 整理出幾套方法
本來想在combobox.Text直接輸入"請選擇"
結果不行? 因為
設定combobox的DropDownStyle是DropDownList
時不能對Text修改 改了按下ENTER之後一樣空白
後來才知道 要在ITEM加入"請選擇"
直接指定TEXT才可以
下面紀錄設定DropDownList又可以避免null的方法
第一招,直接在Item中新增一個"請選擇"
並且在 程式開啟時
設定combobox的text值為combobox.Item[0].ToString()
讓combobox保持在第一項新增的"請選擇"項目
下面範例同上,下面只是加入設定,combobox.text
private void Frm_Main_Load(object sender, EventArgs e)
{//item[0]以字串指定給text程式開啟瞬間已經設定好
comboBox1.Text = comboBox1.Items[0].ToString();
}
@@再來查略一下控制項屬性
發現到一個更簡單的方法
可讓defalut發揮作用
紀錄如下
private void button2_Click(object sender, EventArgs e)
{
switch (comboBox1.Text)//直接判斷text就好
{
case "左楠":
MessageBox.Show("加油站");
break;
case "NXP":
MessageBox.Show("半導體");
break;
default:
MessageBox.Show("請選擇");
break;
}
}
沒有留言:
張貼留言