C#简单通讯录系别计算机与通信工程学院专业名称计算机科学与技术班级学号学生姓名成绩2012年6月18日简单通讯录的设计一.功能与界面设计(1)主界面设计通讯录的功能主要分为添加、查找、删除与修改这四个功能,因为查找和添加是最常用的功能,所以我把这两个功能单独列出来放到主界面上,把修改和删除合并成为在功能管理通讯录里,另外加上退出通讯录的功能就设计出如下图1.1.1所示的的程序主界面图1.1.1主界面的主要代码截图如下图1.1.2图1.1.2(2)管理通信录界面设计管理通讯录界面应实现的功能包括删除和修改,但是为了防止因为用户的错误操作引起的数据丢失不可恢复,所以应该像txt和word一样加上保存的功能,我设计的界面如下图1.2.1,在该窗口加载时系统会自动将通讯录.txt中的信息加载到表格listview1中,使用的方法如截图1.2.2所示,点击选中表格listView1中的项目和删除按钮后触发事件会删除选中的项目,这里支持多项同时删除,涉及主要代码如图1.2.3选中项目后点击修改按钮会是属性默认不可见的pannel1变得可见,pannel1包括四个标签四个文本框,一个确认修改按钮,点击确认修改会修改选中的项目,涉及的主要代码如截图1.2.4所示,点击保存按钮会保存用户所做的修改,如果用户做了修改而未保存,那么关闭管理通信录窗口时系统会询问用户是否保存未保存的修改,涉及的主要代码如截图1.2.5图1.2.1图1.2.2图1.2.3图1.2.4----图1.2.5(3)快速查找界面设计查找功能包括一个简单的快速搜索方法,用户输入简单的名字信息,表格会自动跳转至用户想要找到的信息上,查找功能界面如下图1.3.1所示,实现搜索功能涉及的主要代码截图如下图1.3.2另外该界面加载时系统同样会将通讯录.txt内的信息加载到表格里,所使用方法同上,在这里不再描述图1.3.1图1.3.2(4)添加界面设计添加界面的设计较为简单只包括四个供输入的文本框,四个标签,一个确定输入的按钮,如图1.4.1所示,用户输入功能要求用户输入的姓名不能为空电话必须为纯数字,对住址和性别的输入未作限制,同时系统使用字符“*&$”作为标记分隔用户的输入方便以后的读取,实现这些功能所涉及到的代码如图1.4.2所示,图1.4.3给出用户添加一些资料后,通讯录.txt的内容情况图1.4.1图1.4.2图1.4.3二、程序运行测试结果主界面点击管理通讯录选中赵一,钱二两项点击删除后选中123124123141项点击修改,在显示出的修改框内修改该记录为张宇飞男312313124点击确认修改如果输入的电话号码不是纯数字未作保存,直接点右上角退出通讯录保存后点击关闭按钮系统会返回主界面点击快速查找按钮输入“武”进行搜索输入“白”进行搜索关闭搜索界面,在主界面点击添加联系人按钮当输入姓名为空时当输入电话不为纯数字时关闭添加联系人界面,返回主界面点击退出点击是,立刻退出简单通讯录系统三、程序源代码---------program.cs------------------------------------------------------------------------------------------------usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Windows.Forms;namespaceWindowsFormsApplication3{staticclassProgram{///summary///应用程序的主入口点。////summary[STAThread]staticvoidMain(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new简单通讯录());}}}------------------简单通讯录.Designer.cs--------------------------------namespaceWindowsFormsApplication3{partialclass简单通讯录{///summary///必需的设计器变量。////summaryprivateSystem.ComponentModel.IContainercomponents=null;///summary///清理所有正在使用的资源。////summary///paramname=disposing如果应释放托管资源,为true;否则为false。/paramprotectedoverridevoidDispose(booldisposing){if(disposing&&(components!=null)){components.Dispose();}base.Dispose(disposing);}#regionWindows窗体设计器生成的代码///summary///设计器支持所需的方法-不要///使用代码编辑器修改此方法的内容。////summaryprivatevoidInitializeComponent(){this.flowLayoutPanel1=newSystem.Windows.Forms.FlowLayoutPanel();this.button2=newSystem.Windows.Forms.Button();this.button3=newSystem.Windows.Forms.Button();this.button1=newSystem.Windows.Forms.Button();this.button4=newSystem.Windows.Forms.Button();this.flowLayoutPanel1.SuspendLayout();this.SuspendLayout();////flowLayoutPanel1//this.flowLayoutPanel1.Controls.Add(this.button2);this.flowLayoutPanel1.Controls.Add(this.button3);this.flowLayoutPanel1.Controls.Add(this.button1);this.flowLayoutPanel1.Controls.Add(this.button4);this.flowLayoutPanel1.Location=newSystem.Drawing.Point(74,23);this.flowLayoutPanel1.Name=flowLayoutPanel1;this.flowLayoutPanel1.Size=newSystem.Drawing.Size(133,130);this.flowLayoutPanel1.TabIndex=0;////button2//this.button2.Location=newSystem.Drawing.Point(3,3);this.button2.Name=button2;this.button2.Size=newSystem.Drawing.Size(129,25);this.button2.TabIndex=1;this.button2.Text=管理通信录;this.button2.UseVisualStyleBackColor=true;this.button2.Click+=newSystem.EventHandler(this.button2_Click);////button3//this.button3.Location=newSystem.Drawing.Point(3,34);this.button3.Name=button3;this.button3.Size=newSystem.Drawing.Size(129,25);this.button3.TabIndex=2;this.button3.Text=快速查找;this.button3.UseVisualStyleBackColor=true;this.button3.Click+=newSystem.EventHandler(this.button3_Click);////button1//this.button1.Location=newSystem.Drawing.Point(3,65);this.button1.Name=button1;this.button1.Size=newSystem.Drawing.Size(129,25);this.button1.TabIndex=0;this.button1.Text=添加联系人;this.button1.UseVisualStyleBackColor=true;this.button1.Click+=newSystem.EventHandler(this.button1_Click);////button4//this.button4.Location=newSystem.Drawing.Point(3,96);this.button4.Name=button4;this.button4.Size=newSystem.Drawing.Size(129,25);this.button4.TabIndex=3;this.button4.Text=退出;this.button4.UseVisualStyleBackColor=true;this.button4.Click+=newSystem.EventHandler(this.button4_Click);////简单通讯录//this.AutoScaleDimensions=newSystem.Drawing.SizeF(6F,12F);this.AutoScaleMode=System.Windows.Forms.AutoScaleMode.Font;this.ClientSize=newSystem.Drawing.Size(284,262);this.Controls.Add(this.flowLayoutPanel1);this.Name=简单通讯录;this.Text=简单通讯录;this.flowLayoutPanel1.ResumeLayout(false);this.ResumeLayout(false);}#endregionprivateSystem.Windows.Forms.FlowLayoutPanelflowLayoutPanel1;privateSystem.Windows.Forms.Buttonbutton1;privateSystem.Windows.Forms.Buttonbutton2;privateSystem.Windows.Forms.Buttonbutton3;privateSystem.Windows.Forms.Buttonbutton4;}}------------------------------简单通讯录.cs---------------------------usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.IO;namespaceWindowsFormsApplication3{publicpartialclass简单通讯录:Form{public简单通讯录