循环浏览Listview检查项目

时间:2015-08-17 06:07:41

标签: c# loops listview sms

关于发送短信的previous post,我无法通过复选框将信息发送到列表视图中的所有选定项目。

该消息将被发送到他们的手机号码,这是列表视图中的subitem1。

这是我发送邮件的代码。

with open('C:\Master.csv') as f:
    master = csv.reader(f)
    untagged = [m for m in master if m and m[0] in untagged_keys]

print untagged

我错过了什么。

以下是该计划的截图。

enter image description here

2 个答案:

答案 0 :(得分:6)

寻找CheckedItems而不是SelectedItems

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未被选中。

答案 1 :(得分: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.");

再次感谢大家......