C#通讯录——Windows Form Contact List

C#通讯录

Windows Form Contact List

主窗口

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private Contact[] phoneBook = new Contact[1];
        private void Write(Contact obj)
        {

                StreamWriter sw = new StreamWriter("contact.txt");
                sw.WriteLine(phoneBook.Length + 1);
                sw.WriteLine(obj.FirstName);
                sw.WriteLine(obj.LastName);
                sw.WriteLine(obj.Phone);

                for (int x = 0; x < phoneBook.Length; x++)
                {
                    sw.WriteLine(phoneBook[x].FirstName);
                    sw.WriteLine(phoneBook[x].LastName);
                    sw.WriteLine(phoneBook[x].Phone);
                }
                sw.Close();

        }
        private void Read()
        {
            

                StreamReader sr = new StreamReader("contact.txt");
                phoneBook = new Contact[Convert.ToInt32(sr.ReadLine())];

                for (int x = 0; x < phoneBook.Length; x++)
                {
                    phoneBook[x] = new Contact();
                    phoneBook[x].FirstName = sr.ReadLine();
                    phoneBook[x].LastName = sr.ReadLine();
                    phoneBook[x].Phone = sr.ReadLine();
                }
                sr.Close();

        }
        private void Display()
        {
           
                lstContacts.Items.Clear();
                for (int x = 0; x < phoneBook.Length; x++)
                {
                    lstContacts.Items.Add(phoneBook[x].ToString());
                }
            
        }
        private void ClearForm()
        {
            textFirstName.Text = string.Empty;
            textLastName.Text = string.Empty;
            textPhone.Text = string.Empty;

        }
        private void btnAddContact_Click(object sender, EventArgs e)
        {
            Contact obj = new Contact();
            obj._Contact(textFirstName.Text,textLastName.Text,textPhone.Text);

            //lstContacts.Items.Add(obj.ToString());
            BubbleSort();
            FileIf();
            Write(obj);
            Read();
            Display();
            ClearForm();

        }
        private void FileIf()
        {
            if (File.Exists("contact.txt"))
            {
                return;
            }else
            {
                FileStream NewText = File.Create("contact.txt");
                NewText.Close();
            }

        }
        private void Form1_Load(object sender, EventArgs e)
        {
            FileIf();
            Read();
            Display();
        }
        private void  BubbleSort()
        {
            Contact temp;
            bool swap;
            do
            {
                swap = false;
                for(int x = 0; x<(phoneBook.Length -1);x++)
                {
                    if (phoneBook[x].LastName.CompareTo(phoneBook[x+1].LastName)>0){
                        temp = phoneBook[x];
                        phoneBook[x]=phoneBook[x+1];
                        phoneBook[x+1]=temp;
                        swap =true;
                    }
                }
            }while(swap == true);
        }

        private void btnSort_Click(object sender, EventArgs e)
        {
            BubbleSort();
            Display();
        }
       
    }//end of class
}//end of namespace

 

Contact类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WindowsFormsApplication2
{

    class Contact
    {

        //public Contact()
        //{
        //    FirstName = "landv";
        //    LastName = "li";
        //    Phone = "13903120312";

        //}
        //public Contact(string _FirstName, string _LastName, string _Phone)
        //{
        //    FirstName = _FirstName;
        //    LastName = _LastName;
        //    Phone = _Phone;
        //}
       
        public void  _Contact(string _FirstName, string _LastName, string _Phone)
        {
            FirstName = _FirstName;
            LastName = _LastName;
            Phone = _Phone;
        }

        private string _FirstName;
        private string _LastName;
        private string _Phone;

        public string FirstName
        {
            get { return _FirstName; }
            set { _FirstName = value; }
        }
        public string LastName
        {
            get { return _LastName; }
            set { _LastName = value; }
        }
        public string Phone
        {
            get { return _Phone; }
            set 
            {
                if(value.Length == 11)
                {
                    _Phone = value;
                }
                else
                {
                    _Phone = "11111111111";
                }
            }
        }

    
       public override string ToString()
       {
           string output = string.Empty;
           output += string.Format("{0},{1}", LastName, FirstName);
           output += string.Format(",{0} {1} {2}", Phone.Substring(0, 3), Phone.Substring(3, 4), Phone.Substring(7, 4));
           return output;

       }
    

    }// end of class
}//end of namespace

源码下载地址: 

https://files.cnblogs.com/files/landv/WindowsFormContactList.zip

posted @ 2017-02-04 20:37  landv  阅读(1038)  评论(0编辑  收藏  举报