⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 selectcontacts.cs

📁 PPC ,SP 手机电话本
💻 CS
字号:
using System;
using System.Collections;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using Microsoft.WindowsMobile.PocketOutlook;
namespace SelectContacts

{
    public partial class SelectContacts : UserControl
    {
        ContactCollection contacts;
        ArrayList  phones = new ArrayList();
       // public override sealed event ListChangedEventHandler ListChanged;
        public SelectContacts()
        {
            InitializeComponent();
           OutlookSession mySession = new OutlookSession();
           contacts = mySession.Contacts.Items;
           treeView1.Nodes.Clear();
           contacts.Sort("LastName", false);
           TreeNode here=null;
           for (int i = 0; i < contacts.Count; i++)
           {
              TreeNode one = GetContactPhone(contacts[i]);
              // one.Tag = contacts[i];
              if (i % 15 == 0)
              {   here=new TreeNode(contacts[i].LastName+contacts[i].FirstName);
                  treeView1.Nodes.Add(here);
              }
               if (one!=null&here!=null)
                 here.Nodes.Add(one);

           }
           
       //     ListChanged=new ListChangedEventHandler(contactchanged);
                 //     contacts.ListChanged+= ListChanged;
        //   contacts.SupportsChangeNotification = true;
           
        }
        public void contactchanged(object sender, ListChangedEventArgs e)
        {// MessageBox.Show("chang");
        }

        public void setSize(Size size)
        {
            this.Size = size;
            treeView1.Size = new Size(size.Width, size.Height - 20);


        }

        //对指定电话项生成含有号码的节点,多号码生成多结点。
        public TreeNode  GetContactPhone(Contact c)
        {   ArrayList re=new ArrayList();
            TreeNode tr = new TreeNode(c.LastName + c.FirstName);
            if (c.Business2TelephoneNumber != "")
                 re.Add(c.Business2TelephoneNumber);
            if (c.BusinessTelephoneNumber!="")
                re.Add(c.BusinessTelephoneNumber);
            if (c.MobileTelephoneNumber!="")
                re.Add(c.MobileTelephoneNumber);
            if (c.Home2TelephoneNumber!="")
                re.Add(c.Home2TelephoneNumber);
            if (c.HomeTelephoneNumber!="")
                re.Add(c.HomeTelephoneNumber);
            if (c.RadioTelephoneNumber != "")
                re.Add(c.RadioTelephoneNumber);
            if (re.Count == 0)
                tr = null;
            if (re.Count == 1)
            {
                tr.Tag = re[0];
                tr.Text = string.Format("{0}  电话:{1}", tr.Text, re[0]);
            }
            else
            {
                TreeNode[] phones = new TreeNode[re.Count];
                for (int i = 0; i < re.Count; i++)
                {   phones[i]=new TreeNode(re[i].ToString());
                    phones[i].Tag = re[i].ToString();
                    tr.Nodes.Add(phones[i]).ToString();
                }
            }
            return tr;
        }

        private void treeView1_KeyPress(object sender, KeyPressEventArgs e)
        {
          
            //ArrayList selectphones = new ArrayList();
            if (e.KeyChar == (char)Keys.Enter)
            {
                setphones();
            }
        }
        private void setphones()
        {
            if (treeView1.SelectedNode != null & treeView1.SelectedNode.Tag != null)
            {
                treeView1.SelectedNode.Checked = !treeView1.SelectedNode.Checked;
                // treeView1.SelectedNode.Toggle();
                string nowphone = treeView1.SelectedNode.Tag.ToString();
                if (treeView1.SelectedNode.Checked)
                {
                    phones.Add(nowphone);
                    treeView1.SelectedNode.ImageIndex = 2;
                    treeView1.SelectedNode.SelectedImageIndex = 2;

                }
                else
                {
                    phones.Remove(nowphone);
                    treeView1.SelectedNode.ImageIndex = 0;
                    treeView1.SelectedNode.SelectedImageIndex = 0;
                }

                treeView1.Refresh();
            }
        }
        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {

            try
            {
                bool ss=treeView1.CheckBoxes;
                setphones();
            }
            catch (Exception exec)
            { }
           
        }
        public string GetPones()
        {
            if (phones.Count == 0)
            {
                MessageBox.Show("没有选中项");
                return "";
            }
            else
            {
              return string.Join(",",(string[])phones.ToArray("".GetType()));
            }
    
    
    }

     }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -