2013年5月24日 星期五

goto搜尋listbox中的item與AddRange的方法

將標題放入字串陣列中
然後可以使用 System.Array 的IndexOf 指定搜尋範圍
也可以使用 for迴圈下去搜尋

這裡將介紹如何使用goto來達到循環搜尋的效果
來看下面 範例

namespace Goto
{
    public partial class Frm_Main : Form
    {
        public Frm_Main()
        {
            InitializeComponent();
        }
        string[] G_str_array = new string[] //定義陣列並初始化
        { //首先 建立字串陣列
        "C#範例寶典",
        "C#編程寶典",
        "C#視頻學",
        "C#項目開發全程實錄",
        "C#項目開發實例自學手冊",
        "C#編程詞典",
        "C#實戰寶典",
        "C#經驗技巧寶典",
        "C#入門模式",
        };
        private void Frm_Main_Load(object sender, EventArgs e)
        {//在程式執行瞬間 利用AddRange 把G_str_array全部加入item中
            lbox_str.Items.AddRange(G_str_array);
        }
        private void btn_query_Click(object sender, EventArgs e)
        {
            int i = 0;//定義計數器
            label1://定義標籤 這標籤 是給goto的跳回指標
            //Contains指出指定的(String)物件是否會出現在這個字串內
            //回傳布林 ture false
            if (G_str_array[i].Contains(txt_query.Text))//判斷是否找到圖書
            {
                lbox_str.SelectedIndex = i;//選中搜尋到的結果
                MessageBox.Show(txt_query.Text + " 已經找到!", "提示!");//提示找到訊息
                return;
            }
            i++;//累加i
            if (i < G_str_array.Length) goto label1;//i 小於 陣列數 跳轉到 標籤
            MessageBox.Show(txt_query.Text + " 沒有找到!", "提示!");//提示未找到訊息
        }
    }
}



再來介紹一個 好用的方法AddRange
語法如下
public virtual void AddRange
(
  Control[] controls
)
我們可以如上列子
把定義好的陣列整批加到Item中

沒有留言:

張貼留言