2014-11-07 4 views
0

У меня есть CheckedListBox, в котором я нахожусь, населяющие элементы, такие как:Как разбить элементы в Checkedlistbox со строками типа A + B + C?

  1. Biology + Физика + Химия
  2. английский + урду + Islamiyat

и так далее. Теперь, когда я получить значения выбранных элементов путем разделения их на основе знака «+», это дает мне выход, как:

    Biology 
        Physics 
        ChemistryEnglish 
        Urdu 
        Islamiyat 

Теперь вы можете посмотреть на выходе, так как все значения правы кроме ChemistryEnglish, которые имеют конкатенированные. Что я должен делать, чтобы сделать это правильно? Я хочу, чтобы на выходе, как это:

    Biology 
        Physics 
        Chemistry 
        English 
        Urdu 
        Islamiyat 

ОБНОВЛЕНО

Мой код:

   String items = ""; 
       string SQLString = ""; 
       if (this.subjects_listbox.CheckedItems.Count != 0) 
       { 
        for (int i = 0; i < this.subjects_listbox.Items.Count; i++) 
        { 
         items += this.subjects_listbox.CheckedItems[i].ToString(); 
        } 

       } // 
       String[] subNames = items.Split('+'); 
       foreach (var item in subNames) 
       { 
        MessageBox.Show(item); 
       } 

Наконец я достиг своей цели это, делая это:

   String items = ""; 
       string SQLString = ""; 
       if (this.subjects_listbox.CheckedItems.Count != 0) 
       { 
        for (int i = 0; i < this.subjects_listbox.Items.Count; i++) 
        { 
         items += this.subjects_listbox.CheckedItems[i].ToString() + "+"; 
        } 

       } // 
       String[] subNames = items.Split('+'); 
       foreach (var item in subNames) 
       { 
        MessageBox.Show(item); 
       } 
+1

Можете ли вы показать код? – vikky

+1

Как вы их разделяете, отправляете код? – Michael

+0

Просьба проверить мой код, я обновил свой вопрос, пожалуйста! – Sameer

ответ

0

Я думаю, вам нужно разделить элементы в CheckedListBox отдельно, прежде чем делать то, что вы делаете с элементами. Возьмем следующий код (при условии, myCheckedListBox это имя вашего CheckedListBox)

var subNameList = new List<string>(); 
foreach (var item in myCheckedListBox.Items) 
{ 
    foreach (string subName in (item.ToString().Split('+')) 
    { 
     subNameList.Add(subName); 
    } 
} 

Это приведет вас имея список строк в конце в subNameList. Возможно, вы захотите использовать myCheckedListBox.CheckedItems, а не myCheckedListBox.Items в зависимости от вашего варианта использования.

+0

Спасибо Алекс! Ваш код тоже работал. Я также попытался сделать это и наконец получил его. Спасибо всем за вашу заботу. – Sameer

0

Я достиг своей цели, делая это:

   String items = ""; 
       string SQLString = ""; 
       if (this.subjects_listbox.CheckedItems.Count != 0) 
       { 
        for (int i = 0; i < this.subjects_listbox.Items.Count; i++) 
        { 
         items += this.subjects_listbox.CheckedItems[i].ToString() + "+"; 
        } 

       } 
       String[] subNames = items.Split('+'); 
       foreach (var item in subNames) 
       { 
        MessageBox.Show(item); 
       }