www.pudn.com > SMSManagement.rar > SMSForm.cs


using System; 
 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Text; 
using System.Windows.Forms; 
 
namespace SMSManagement 
{ 
    public partial class SMSForm : Form 
    { 
        public string GetApplicationDirectory() 
        { 
            return System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName); 
        } 
        public string RootSMSDirectory() 
        { 
            return System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName),"SMS"); 
        } 
        public System.Collections.Generic.List GetSMSFiles(string path, string searchPattern) 
        { 
            System.Collections.Generic.List files = new List(); 
            GetFiles(path, searchPattern, files); 
            return files; 
        } 
 
        public void GetFiles(string path, string searchPattern, System.Collections.Generic.List files) 
        { 
            string[] f = System.IO.Directory.GetFiles(path, searchPattern); 
            foreach (string item in f) 
            { 
                files.Add(item); 
            } 
 
            string[] d = System.IO.Directory.GetDirectories(path); 
            foreach (string item in d) 
            { 
                GetFiles(item, searchPattern, files); 
            } 
        } 
        public void treeViewTreeNode(TreeView treeView, System.Collections.Generic.List paths) 
        { 
            foreach (string item in paths) 
            { 
                TreeNodeCollection tnc=treeView.Nodes; 
                string item_ = item.Remove(0, RootSMSDirectory().Length+1); 
                item_ = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(item_),System.IO.Path.GetFileNameWithoutExtension(item_)); 
                string[] pathSplit = item_.Split(System.IO.Path.DirectorySeparatorChar); 
                foreach (string p in pathSplit) 
                { 
                    TreeNode tn = NodesContains(tnc,p); 
                      tnc = tn.Nodes; 
                } 
 
                //---------------- 
 
              System.IO.StreamReader sr=  System.IO.File.OpenText(item); 
              while (!sr.EndOfStream) 
              { 
                  TreeNode tn = new TreeNode(sr.ReadLine()); 
                  tn.ImageIndex = 1; 
                  tnc.Add(tn); 
              } 
                  sr.Close(); 
            } 
         
        } 
        public TreeNode NodesContains(TreeNodeCollection tnc, string text) 
        { 
            foreach (TreeNode item in tnc) 
            { 
                if (item.Text == text) 
                { 
                    return item; 
                } 
            } 
            TreeNode tn = new TreeNode(text); 
            tn.ImageIndex = 0; 
            tnc.Add(tn); 
            return tn; 
        } 
        public SMSForm() 
        { 
            InitializeComponent(); 
        } 
 
        private void SMSForm_Load(object sender, EventArgs e) 
        { 
            if (!System.IO.Directory.Exists(RootSMSDirectory())) { return; } 
 
            System.Collections.Generic.List smsfiles = GetSMSFiles(RootSMSDirectory(), "*.txt"); 
            treeViewTreeNode(treeView1, smsfiles); 
           
            //textBox1.Text = this.GetSMSDirectory(); 
            //TreeNode f1=new TreeNode("f1"); 
            //f1.FullPath="mccj/mm/"; 
            //treeView1.Nodes..Add(f1); 
            //TreeNode f2 = new TreeNode("f2"); 
            //f2.FullPath = "mccj/mm/nn"; 
            //treeView1.Nodes.Add(f2); 
        } 
 
        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) 
        { 
            textBox1.Text = treeView1.SelectedNode.Text; 
        } 
 
        private void menuItem2_Click(object sender, EventArgs e) 
        { 
            //退出 
            Application.Exit(); 
        } 
 
        private void menuItem1_Click(object sender, EventArgs e) 
        { 
            //发送 
            SendSMS sendSMS = new SendSMS(textBox1.Text); 
            sendSMS.ShowDialog(); 
        } 
    } 
}