2015-08-17 138 views
1

關於發送短信的我的previous post,我無法通過複選框將消息發送到列表視圖中的所有選定項目。循環瀏覽列表查看項目

該消息將被髮送到他們的移動號碼,這是在列表視圖subitem1。

這是我發送消息的代碼。

foreach (ListViewItem eachItem in lvNumbers.SelectedItems) 
{ 
    //string Selected = eachItem.Text; 
    string Selected = lvNumbers.Items[Convert.ToString(eachItem)].SubItems[1].Text; 
    sm.sendSMS(Selected, txtMessage.Text); 
} 

sm.Closes(); 
MessageBox.Show("Messages Sent!"); 

我在想什麼。

下面是程序的截圖。

enter image description here

+0

有什麼麻煩嗎?它沒有解釋你的實際問題是什麼 – Shaharyar

+0

你需要等待在sm.sendSMS(Selected,txtMessage.Text);'line之後發送的每個短消息。但不確定,因爲你沒有提到確切的問題。 –

+0

您必須描述您面臨的問題(錯誤描述,不需要的行爲等)。 –

回答

4

查找CheckedItemsSelectedItems

foreach (ListViewItem eachItem in lvNumbers.CheckedItems) 
{ 
    //string Selected = lvNumbers.Items[Convert.ToString(eachItem)].SubItems[1].Text; 
    string Selected = eachItem.SubItems[1].Text; //directly access "eachItem" 
} 

因爲你的項目Checked沒有選擇。

+0

選擇感謝您。最後它工作。 –

0

下面是發送按鈕的最終代碼。

if (string.IsNullOrEmpty(cboPorts.Text.Trim())) 
     { 
      MessageBox.Show("Select COM port first.", "Err", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); 
      txtMessage.Focus(); 
      return; 
     } 

     if (string.IsNullOrEmpty(txtMessage.Text.Trim())) 
     { 
      MessageBox.Show("Please Enter a Message.", "Err", MessageBoxButtons.OK,MessageBoxIcon.Exclamation); 
      txtMessage.Focus(); 
      return; 
     } 

     SMS sm = new SMS(cboPorts.Text); 
     sm.Opens(); 

     MessageBox.Show(lvNumbers.CheckedItems.Count.ToString()); 

     foreach (ListViewItem eachItem in lvNumbers.CheckedItems) 
      { 

       string Selected = eachItem.SubItems[1].Text;     
       sm.sendSMS(Selected, txtMessage.Text); 
      } 

     sm.Closes(); 
     MessageBox.Show("Messages Sent."); 

再次感謝傢伙..