后端的表应该包括这么两张
组表:id,用户id,组名
好友表:id,用户id,好友id,分组id。
分组id和组表的id关联。

解决方案 »

  1.   

    能用treeview控件绑定显示出来吗?怎么实现呢
      

  2.   

      一般程序都是以菜单栏和工具栏的形式调用其他功能模块,如果以动态的类似QQ的程序界面来调用其他功能模块,将会给用户一种新鲜的感觉,使用户对软件更感兴趣。实例运行结果如图1.17所示。
    技术要点
      本例主要使用Button控件来完成布局,使用ListView控件来显示有图标的功能菜单。ListView控件的常用属性及说明如下。
      1.ListView.Items属性
      使用该属性可直接访问表示列表中项目的ListItem对象。其结构如下:
    public ListViewItemCollection Items { get; }
    l     属性值: ListView.ListViewItemCollection包含ListView控件中所有的项。
      2.ListView.Dock属性
      获取或设置哪些控件边框停靠到其父控件并确定控件如何随其父级一起调整大小。其结构如下:
    public virtual DockStyle Dock { get; set; }
    l     属性值:DockStyle值之一。默认为None。
    实现过程
      (1)创建一个项目,将其命名为Ex01_17,默认窗体为Form1。
      (2)在窗体上添加Button控件、ListView控件和ImageList控件。设置ListView控件的ImageList属性为ImageList控件。
      (3)主要程序代码。
      添加“我的好友”选项内容的实现代码如下:
            private void button1_Click(object sender, EventArgs e)
            {
                listView1.Dock = DockStyle.None;
                button1.Dock = DockStyle.Top;
                button2.Dock = DockStyle.Bottom;
                button3.SendToBack();
                button3.Dock = DockStyle.Bottom;
                listView1.BringToFront();
                listView1.Dock = DockStyle.Bottom;
                listView1.Clear();
                listView1.Items.Add("小猪", "小猪", 0);
                listView1.Items.Add("小狗", "小狗", 1);
                listView1.Items.Add("娇娇", "娇娇", 2);
            }
      添加默认时选项内容的实现代码如下:
            private void Form1_Load(object sender, EventArgs e)
            {
                listView1.Clear();
                listView1.LargeImageList = imageList1;
                listView1.Items.Add("小猪", "小猪", 0);
                listView1.Items.Add("小狗", "小狗", 1);
                listView1.Items.Add("娇娇", "娇娇", 2);
                
            }
      添加“陌生人”选项内容的实现代码如下:
            private void button2_Click(object sender, EventArgs e)
            {
                listView1.Dock = DockStyle.None;
                button2.Dock = DockStyle.Top;
                button1.SendToBack();
                button1.Dock = DockStyle.Top;
                button3.Dock = DockStyle.Bottom;
                listView1.Dock = DockStyle.Bottom;
                listView1.Clear();
                listView1.Items.Add("北风", "北风", 3);
              
            }
      添加“黑名单”选项内容的实现代码如下:
            private void button3_Click(object sender, EventArgs e)
            {
                listView1.Dock = DockStyle.None;
                button3.SendToBack();
                button3.Dock = DockStyle.Top;
                button2.SendToBack();
                button2.Dock = DockStyle.Top;
                button1.SendToBack();
                button1.Dock = DockStyle.Top;
                listView1.Dock = DockStyle.Bottom;
                listView1.Clear();
                listView1.Items.Add("冰雨", "冰雨", 5);
            }
      

  3.   

    不用webqq啊。有截图或者视频么?
      

  4.   


    对于QQ系列的程序来说,它一定是有自己的服务器。然后服务器端返回标准的实体对象集合(通常是json对象集合)。而页面,你可以找很多前端组件,例如几十种基于 jQuery 的 UI 组件都可以直接展现现代的比较酷一些的列表。基本都几乎不需要编程,只要把从服务器得到的数据给组件注册一下,组件的所有 UI 界面和交互行为就能自动执行。抄简单的asp.net“范例”你会发现等你要满足产品经理的UI界面开发要求时,你的开发速度和变通能力还是0蛋。你应该现在就学习使用比较好的前端javascript的UI框架组件。而asp.net内置的那些,根本不行。
      

  5.   

    这时一个比较尴尬的现实。对于想学习asp.net的人,我们尽可以介绍asp.net的原理知识。但是对于想很好地开始设计非常现代的、用户体验较好的web应用程序的人,我只能回避这个问题。因为asp.net现在只是纠结于服务器端数据库增删改查,根本没有支持页面上酷炫和高效率的任何控件存在。