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

📄 mainform.cs

📁 通讯录 采用xmlC#做的 很不错的啊
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace 通讯录
{
    public partial class MainForm : Form
    {
        private int id = 0;
        private DataSet myDataSet=new DataSet();
        private string xpath;
        public MainForm(string mypath)
        {
            InitializeComponent();
            xpath = mypath;
            myDataSet.ReadXml(xpath);
          
        }

        private void BindTreeView(string type)
        {
            int count = 0;
            if (type == "全部")
            {
                DataTable dt = myDataSet.Tables[0];
                count = dt.Rows.Count;
            }
            else
            {
                string str = "类型='" + type + "'";
                DataRow[] rowList = myDataSet.Tables[0].Select(str);
                count = rowList.Length;
            }
            TreeNode rootNode = new TreeNode();
            rootNode.Text = type+"("+count.ToString()+")";
            myTreeView.Nodes.Add(rootNode);
            CreateChildNode(type,rootNode,myDataSet.Tables[0]);
        }

        private void CreateChildNode(string type,TreeNode parentNode ,DataTable dt)
        {
            if (type =="全部")
            {
                foreach (DataRow row in myDataSet.Tables[0].Rows)
                {
                    TreeNode tempNode = new TreeNode();
                    tempNode.Name = row["序号"].ToString();
                    id = Convert.ToInt16(tempNode.Name);
                    tempNode.Text = row["姓名"].ToString();
                    parentNode.Nodes.Add(tempNode);
                }
            }
            else
            {
                string str = "类型='" + type + "'";
                DataRow[] rowList = dt.Select(str);
                foreach (DataRow row in rowList)
                {
                    TreeNode tempNode = new TreeNode();
                    tempNode.Name = row["序号"].ToString();
                    tempNode.Text = row["姓名"].ToString();
                    parentNode.Nodes.Add(tempNode);
                }
            }
            
        }

        private void MainForm_Load(object sender, EventArgs e)
        {
            myTreeView.Nodes.Clear();
            string type = "全部";
            BindTreeView(type);
            type = "同事";
            BindTreeView(type);
            type = "朋友";
            BindTreeView(type);
            type = "同学";
            BindTreeView(type);
            type = "家人";
            BindTreeView(type);
            type = "其他";
            BindTreeView(type);
            string str = "序号='1'";
            DataRow[] rowList = myDataSet.Tables[0].Select(str);
            foreach (DataRow row in rowList)
            {
                lblName.Text = row["姓名"].ToString();
                lblSex.Text = row["性别"].ToString();
                lblBirthday.Text = row["出生年月"].ToString();
                lblAddr.Text = row["地址"].ToString();
                lblCorp.Text = row["所在公司"].ToString();
                lblJop.Text = row["职位"].ToString();
                lblPhone.Text = row["联系电话"].ToString();
                llblEmail.Text = row["电子邮箱"].ToString();
                llblPage.Text = row["个人主页"].ToString();
                if (row["性别"].ToString() == "女")
                {
                    myPictureBox.Image = Image.FromFile(@"image\girl.jpg");
                    myPictureBox.Update();
                }
                else
                {
                    myPictureBox.Image = Image.FromFile(@"image\boy.jpg");
                    myPictureBox.Update();
                }
            }
            
            
        }

        private void myTreeView_AfterSelect(object sender, TreeViewEventArgs e)
        {
            string strNode=myTreeView.SelectedNode.Name;
            string str = "序号='" + strNode + "'";
            id = Convert.ToInt16(strNode);
            DataRow[] rowList = myDataSet.Tables[0].Select(str);
            foreach (DataRow row in rowList)
            {
                lblName.Text = row["姓名"].ToString();
                lblSex.Text = row["性别"].ToString();
                lblBirthday.Text = row["出生年月"].ToString();
                lblAddr.Text = row["地址"].ToString();
                lblCorp.Text = row["所在公司"].ToString();
                lblJop.Text = row["职位"].ToString();
                lblPhone.Text = row["联系电话"].ToString();
                llblEmail.Text = row["电子邮箱"].ToString();
                llblPage.Text = row["个人主页"].ToString();
                if (row["性别"].ToString() == "女")
                {
                    myPictureBox.Image = Image.FromFile(@"image\girl.jpg");
                    myPictureBox.Update();
                }
                else
                {
                    myPictureBox.Image = Image.FromFile(@"image\boy.jpg");
                    myPictureBox.Update();
                }
            }
           
        }

        private void MainForm_FormClosed(object sender, FormClosedEventArgs e)
        {
            Application.Exit();
        }

        private void llblAdd_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            AddForm MyAddForm = new AddForm(myDataSet,xpath);
            MyAddForm.Show();
           
        }

        private void llblEdit_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            EditForm MyEditForm = new EditForm(id,myDataSet,xpath);
            MyEditForm.Show();
            
        }

        private void btnLoad_Click(object sender, EventArgs e)
        {
            MainForm_Load(sender, e);
        }

        private void llblDelete_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            int count = myDataSet.Tables[0].Rows.Count;
            if (count==1)
            {
                 MessageBox.Show("至少要保留一条信息",
                "温馨提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 return;
            }
            string name = "";
            foreach (DataRow row in myDataSet.Tables[0].Rows)
            {
                if (row["序号"].ToString() == id.ToString())
                {
                    name = row["姓名"].ToString();
                }
            }
            DialogResult myDialogResult;
            myDialogResult = MessageBox.Show("你确定删除‘" + name + "’这条记录吗",
                "温馨提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
            if (myDialogResult == DialogResult.Yes)
            {
                int n = myDataSet.Tables[0].Rows.Count;
                foreach (DataRow row in myDataSet.Tables[0].Rows)
                {
                    if (row["序号"].ToString() == id.ToString())
                    {
                        row.Delete();
                        for (int i = 0; i < n - 1; i++)
                        {
                            myDataSet.Tables[0].Rows[i]["序号"] = i + 1;
                        }
                        myDataSet.WriteXml(xpath);
                        return;
                    }

                }


            }
        }

        private void llblEmail_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            string uri = "mailto:"+llblEmail.Text.Trim();
            llblPage.LinkVisited = true;
            System.Diagnostics.Process.Start(uri);
        }

        private void llblPage_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            string uri = llblPage.Text.Trim();
            llblPage.LinkVisited = true;
            System.Diagnostics.Process.Start(uri);
        }
    }
}

⌨️ 快捷键说明

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