C#怎么实现窗体通讯录系统功能
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本文小编为大家详细介绍"C#怎么实现窗体通讯录系统功能",内容详细,步骤清晰,细节处理妥当,希望这篇"C#怎么实现窗体通讯录系统功能"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知
千家信息网最后更新 2026年11月03日C#怎么实现窗体通讯录系统功能具体如下:
本文小编为大家详细介绍"C#怎么实现窗体通讯录系统功能",内容详细,步骤清晰,细节处理妥当,希望这篇"C#怎么实现窗体通讯录系统功能"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
具体如下:
1.首先创建DBhelp类用来连接数据库
代码如下:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.SqlClient;using System.Data; namespace TongxunLu{ public static class DBHelp { static string sqlcon = "Data Source=.;Initial Catalog=TXL;Integrated Security=True"; public static SqlConnection con = new System.Data.SqlClient.SqlConnection(sqlcon); public static SqlCommand cmd = new SqlCommand(); }}登录页面:
双加登录里面代码:
private void btnOK_Click(object sender, EventArgs e) { //验证用户名与密码非空 if (txtUserName.Text == "") { MessageBox.Show("用户名不能为空,请输入!"); txtUserName.Focus(); return; } if (txtUserPwd.Text == "") { MessageBox.Show("密码不能为空,请输入!"); txtUserPwd.Focus(); return; } //定义链接字符串和链接对象 string sqlcon = "Data Source=.;Initial Catalog=TXL;Integrated Security=True"; SqlConnection con = new System.Data.SqlClient.SqlConnection(sqlcon); //操作数据库,实现登录功能 try { con.Open(); string sqlcomm = "select distinct COUNT(*) from Users where UserName='" + txtUserName.Text + "' and Password='" + txtUserPwd.Text + "'"; SqlCommand cmd = new System.Data.SqlClient.SqlCommand(sqlcomm, con); //cmd.Connection = con; //cmd.CommandText = sqlcomm; if ((int)cmd.ExecuteScalar() == 1) { // MessageBox.Show("登录成功"); Users.UserName = txtUserName.Text; FrmMain fmain = new FrmMain(); fmain.Show(); } else { MessageBox.Show("登录失败"); } // MessageBox.Show("数据库打开成功", "提示信息", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); } catch (Exception ex) { MessageBox.Show(ex.Message, "提示信息", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); } finally { con.Close(); // MessageBox.Show("数据库成功关闭", "提示信息", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); } }双击取消,里面代码:
private void btnCacel_Click(object sender, EventArgs e) { Application.Exit(); }
输入用户表里面的信息,进行登录:

2.创建主页面:
添加菜单栏、工具栏、状态栏
菜单栏控件:MenuStrip 以mus开头命名
项目名称以tsm开头 项目里的项目以tsmi开头命名
工具栏控件:ToolStrip 项显示图片和文本更改属性DisplayStyle,工具栏:以tst开头
状态栏控件:StatusStrip,状态栏:以tss命名开头
当页面加载那个用户登录,状态用Label控件就显示谁的名字,代码:
private void FrmMain_Load(object sender, EventArgs e) { //接受登录名 toolStripStatusLabel2.Text += Users.UserName; toolStripStatusLabel3.Text += GetNum(Users.UserName).ToString(); LoadGroup(); }主页面里面的详细功能代码,如下:
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient; namespace TongxunLu{ public partial class FrmMain : Form { public FrmMain() { InitializeComponent(); } //显示添加窗体 public void add() { frmAdd fadd = new frmAdd(); fadd.Show(); } //显示修改窗体 public void edit() { frmEdit fedit = new frmEdit(); fedit.Show(); } //显示查询窗体 public void seacher() { frmSeach fseacher=new frmSeach (); fseacher.Show(); } //统计登录联系人的个数 public int GetNum(string str1) { int num = 0; try { DBHelp.con.Open(); string sqlcomm = string.Format("select count(*) from BUsicInfo where UserName='{0}'",str1); DBHelp.cmd.Connection = DBHelp.con; DBHelp.cmd.CommandText = sqlcomm; num = (int)DBHelp.cmd.ExecuteScalar(); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { DBHelp.con.Close(); } return num; } //统计登录联系人分组的个数 public int GetGroupsNum() { int num = 0; try { DBHelp.con.Open(); string sqlcomm = string.Format("select count(*) from BUsicInfo where UserName='{0}' and groups='{1}'",Users.UserName,treeView1.SelectedNode.Text ); DBHelp.cmd.Connection = DBHelp.con; DBHelp.cmd.CommandText = sqlcomm; num = (int)DBHelp.cmd.ExecuteScalar(); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { DBHelp.con.Close(); } return num; } //加载treeview控件 public void LoadGroup() { try { DBHelp.con.Open(); string sqlcomm = string.Format("select groups from busicInfo where userName='{0}'",Users.UserName); DBHelp.cmd.Connection = DBHelp.con; DBHelp.cmd.CommandText = sqlcomm; SqlDataReader dr = DBHelp.cmd.ExecuteReader(); while(dr.Read()) { treeView1.Nodes.Add(dr[0].ToString()); } dr.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { DBHelp.con.Close(); } } //加载ListView控件 public void loadList() { if (treeView1.Nodes.Count == 0) { MessageBox.Show("请重新加载"); listView1.Items.Clear(); return; } if (treeView1.SelectedNode.Index >= 0) { listView1.Clear(); listView1.Columns.Add("姓名", 100); listView1.Columns.Add("工作单位", 100); listView1.Columns.Add("联系电话", 100); listView1.Columns.Add("电子邮箱", 100); listView1.Columns.Add("QQ", 100); try { DBHelp.con.Open(); string sqlcomm = string.Format("select * from busicInfo where userName='{0}' and Groups='{1}'",Users.UserName,treeView1.SelectedNode.Text); DBHelp.cmd.CommandText = sqlcomm; DBHelp.cmd.Connection = DBHelp.con; SqlDataReader dr = DBHelp.cmd.ExecuteReader(); while(dr.Read()) { ListViewItem lvi = new ListViewItem(); lvi.Tag = dr[0]; lvi.Text = dr[3].ToString(); lvi.SubItems.Add(dr[4].ToString()); lvi.SubItems.Add(dr[5].ToString()); lvi.SubItems.Add(dr[6].ToString()); lvi.SubItems.Add(dr[7].ToString()); listView1.Items.Add(lvi); } dr.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { DBHelp.con.Close(); } } } private void 增加联系人ToolStripMenuItem_Click(object sender, EventArgs e) { add(); } private void toolStripButton1_Click(object sender, EventArgs e) { add(); } private void toolStripButton4_Click(object sender, EventArgs e) { seacher(); } private void FrmMain_Load(object sender, EventArgs e) { //接受登录名 toolStripStatusLabel2.Text += Users.UserName; toolStripStatusLabel3.Text += GetNum(Users.UserName).ToString(); LoadGroup(); } private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { } private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { loadList(); toolStripStatusLabel3.Text = GetGroupsNum().ToString(); } }}3.添加联系人页面
Tablcontrol控件:分页选项:用来分页:基本信息和其他信息
双击确定,里面代码:
private void btnAdd_Click(object sender, EventArgs e) { try { DBHelp.con.Open(); DBHelp.cmd.CommandText =string.Format("insert into BusicInfo(userName,Groups,Name,workUnit,Phone,Email,QQ)values('{0}','{1}','{2}','{3}','{4}','{5}','{6}')",Users.UserName,cmbGroup.SelectedValue,txtName.Text,txtWorkUnit.Text,txtPhone.Text,txtEmail.Text,txtQQ.Text); DBHelp.cmd.Connection = DBHelp.con; if ((int)DBHelp.cmd.ExecuteNonQuery() == 1) { MessageBox.Show("添加成功"); } else { MessageBox.Show("失败"); } } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { DBHelp.con.Close(); } }加载页面,双击压面,里面代码
public void LoadGroup() { try { DBHelp.con.Open(); string sqlcomm = string.Format("select groups from busicInfo where userName='{0}'", Users.UserName); DBHelp.cmd.Connection = DBHelp.con; DBHelp.cmd.CommandText = sqlcomm; SqlDataReader dr = DBHelp.cmd.ExecuteReader(); while (dr.Read()) { cmbGroup.Items.Add(dr[0].ToString()); } dr.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { DBHelp.con.Close(); } } private void frmAdd_Load(object sender, EventArgs e) { LoadGroup(); }4.修改页面
5.查询页面
双击查询按钮,里面代码:
private void btnSeach_Click(object sender, EventArgs e) { string sqlcomm = ""; if(txtUserName.Text==""&&txtUserPhone.Text=="") { sqlcomm = string.Format("select * from BusicInfo "); } else if (txtUserName.Text == "") { sqlcomm = string.Format("select * from BusicInfo where Phone='%{0}%' ", txtUserPhone.Text); } else if (txtUserPhone.Text == "") { sqlcomm = string.Format("select * from BusicInfo where UserName='{0}%' ", txtUserName.Text); } else { sqlcomm = string.Format("select * from BusicInfo where UserName='{0}%' and Phone='{1}%' ", txtUserName.Text, txtUserPhone.Text); } try { DBHelp.con.Open(); SqlDataAdapter da = new SqlDataAdapter(sqlcomm,DBHelp.con); DataSet ds = new DataSet(); da.Fill(ds); dataGridView1.DataSource = ds.Tables[0]; } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { DBHelp.con.Close(); } }读到这里,这篇"C#怎么实现窗体通讯录系统功能"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
登录
代码
控件
窗体
信息
页面
功能
开头
联系
成功
数据
数据库
状态
用户
联系人
系统
通讯
通讯录
C#
工具
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网是不是新科技
金诺互联网科技
北京互联网科技
万易互联网科技有限公司
菲比寻常互联网科技
赫美联合互联网科技
长亮科技 互联网金融
上海电发互联网科技有限公司
受益于互联网科技的高速发展
注册互联网科技公司经营范围大全
未来五年的互联网科技
互联网科技和信息
本届互联网博览会上的黑科技
996高科技互联网公司
中科明德北京互联网科技
互联网金融科技公司的优势
产业互联网科技服务公司
亚光科技低轨卫星互联网
科技互联网专业务虚会材料
互联网高科技绘画
腾讯阿里互联网科技
中资互联网科技
北京互联网科技
四个字互联网科技公司取名
互联网巨头投资的硬核科技
上海宁丞科技互联网
银川新华互联网科技学校联系电话
互联网行业科技股
陕西彩京云互联网科技有限公司
恒生互联网科技趋势