创建2个窗体
这两个窗体
固定窗口大小
为Form1添加lable控件,修改Text属性为"欢迎使用QQ通讯录"
修改字体大小
添加2个button控件,分别为新建名片和搜索名片
新建窗体fmCardList
期望效果
创建窗体
添加listView控件
找到Dock属性
修改为居中
添加MenuStrip控件
添加contextMenuStrip控件
找到Items属性添加成员
SubItem集合添加QQnumber
双击"查询名片"实例化窗体
打开窗体
fmCardList fm = new fmCardList();
fm.Show();
运行点击查询名片可以跳转便成功
实现添加指定数据
定义全局变量
修改添加名片的name值
private void tsmiAddItem_Click(object sender, EventArgs e)
{
//往listview对象中添加数据,先加假数据
//获得listview的项集合,往集合中添加一个items对象
//实例化一个项,添加到集合中
//类名 变量名 = new 类名;
ListViewItem tempItem = new ListViewItem();
tempItem.SubItems.Add("1111111");
//对象.属性=值
tempItem.Text = "张飞";
//往集合中添加这个项
lvCards.Items.Add(tempItem);
}
private void fmCaidList_Load(object sender, EventArgs e)
{
//读取数据库 获得所有数据 并且添加到listview
LoadData();
}
private void LoadData()
{
//实例化一个连接对象
//连接字符串
String connStr = "Data Source=.;Initial Catalog=sanguo;Integrated Security=True";
//连接对象
conn = new SqlConnection(connStr);
//创建执法者
String sql = "select * from qq";
SqlCommand cmd = new SqlCommand(sql,conn);
//让执法者获取所有的数据
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
//遍历处理数据表中的所有内容
String name;
String qqnumber;
while(reader.Read()){
name = reader["qq"].ToString();
qqnumber = reader["qqnumber"].ToString();
//生成一个项
ListViewItem temp_item = new ListViewItem();
//给项添加文本
temp_item.Text = name;
//给项添加子项
temp_item.SubItems.Add(qqnumber);
//把项添加到lv对象的Items集合中
lvCards.Items.Add(temp_item);
}
conn.Close();
//读数据...
//填入到listview对象的items列表中
}
实现删除数据
private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
{
// 找到被选中的项
String qqnumber = lvCards.SelectedItems[0].SubItems[1].Text;
// 要做的事情
String sql = String.Format("delete from qq where qqnumber = {0}", qqnumber);
// 连接对象开启
conn.Open();
// 生成执法者
SqlCommand cmd = new SqlCommand(sql,conn);
// 执法者调用方法 执行不查询的方法
int n = cmd.ExecuteNonQuery();
MessageBox.Show("受影响的行数为" + n);
// 假设需要删除吕布
// delete from 表名 where name='吕布'
// 关一下
conn.Close();
// 清空listview对象中的项
lvCards.Items.Clear();
// 重新load一下data
LoadData();
}