มีโค๊ดมาให้ช่วยจัดการทีครับ เกี่ยวกับ Listbox

Last post 08-02-2008 12:25 by soang. 2 replies.
Page 1 of 1 (3 items)
Sort Posts: Previous Next
  • 07-31-2008 16:44

    • soang
    • Top 10 Contributor
    • Joined on 06-30-2008
    • Posts 23

    มีโค๊ดมาให้ช่วยจัดการทีครับ เกี่ยวกับ Listbox

    โค๊ดปุ่ม ลบ checkedListBox ครับผมติดตรงที่ว่าจะลบกล่องตามที่ต้องการโดยติ๊กถูกที่กล่อง (แบบติ๊กหลายกล่องแล้วลบทีเดียวเลย) อย่างโค๊ดนี้ใช้ index ครับเก็บใส่ arrIndexIdea แล้วใช้ removeAt(arrIndexIdea) ยังลบไม่ได้[:'(] มัน error ArgumentOutOfRangeException ถ้าดัก error มันก็ลบไม่ถูกอยู่ดี (index ผมเช็คแล้วมันก็ถูก)

    รบกวนด้วยครับ ^^

    private
    void btn_Remove_Click(object sender, EventArgs e)

    {

    int checkItem = checkedListBox1.CheckedItems.Count;

    int[ arrIndex = new int[checkItem];

    int i = 0;

    if (checkedListBox1.CheckedItems.Count > 0)

    {

    foreach (int index in checkedListBox1.CheckedIndices)

    {

    if (i >= arrIndex.Length)break;

    arrIndexIdea = index;

    checkedListBox1.Items.RemoveAt(arrIndexIdea);

    i++;

    }

    }

    else

    {

    MessageBox.Show("choose your box before !");

    }

    }

  • 08-02-2008 1:51 In reply to

    Re: มีโค๊ดมาให้ช่วยจัดการทีครับ เกี่ยวกับ Listbox

    เวลาใช้ foreach เราไม่ควรจะไป Modify ตัวคอลลเคชั่นที่เรากำลัง foreach ครับ เพราะมันจะทำให้ข้อมูลเพี้ยนได้

    ลองใช้ while( checkedListBox1.CheckedIndices.Count > 0) ดิครับ แล้ว RemoveAt( checkedListBox1.CheckedIndices[0] ) ไปเรื่อยๆ

     

     

  • 08-02-2008 12:25 In reply to

    • soang
    • Top 10 Contributor
    • Joined on 06-30-2008
    • Posts 23

    Re: มีโค๊ดมาให้ช่วยจัดการทีครับ เกี่ยวกับ Listbox

    สุดยอดเลยครับใช้แค่ 2 บรรทัดเอง Cool

    เยี่ยมครับ ขอบคุณ

Page 1 of 1 (3 items)