仿QQ面板的WinForm窗体

仿QQ面板的WinForm窗体
    说明:前几天在一个朋友那里看到做得很漂亮的一个企业及时通讯软件,利用C#编写,完全没有利用第三方控件就实现了类似于QQ面板的效果,非常漂亮。
    回家之后凭着自己的记忆和查阅MSDN尝试实现了一下,初步实现了类似效果,现在奉献给大家。
    在程序中用到了三种控件(不包括窗体类):ImageList、Button和ListView。Button控件显示好友分组,点击之后显示相应好友分组的信息;ImageList控件用于存放好友头像;ListView控件用于显示好友列表。在程序中不是用Location来定位控件的位置,而是使用Dock属性来设置控件的停靠,并随着父控件一起调整大小。

程序核心代码:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8.  
  9. namespace QQPanelDemo
  10. {
  11.     /// 
  12.     /// 说明:前几天在一个朋友那里看到做得很漂亮的一个企业及时通讯软件,利用C#编写,完全没有利用第三方控件就实现了类似于QQ面板的效果,非常漂亮。
  13.     ///回家之后凭着自己的记忆和查阅MSDN尝试实现了一下,初步实现了类似效果,现在奉献给大家。
  14.     ///在程序中用到了三种控件(不包括窗体类):ImageList、Button和ListView。
  15.     ///Button控件显示好友分组,点击之后显示相应好友分组的信息;ImageList控件用于存放好友头像;ListView控件用于显示好友列表。
  16.     ///在程序中不是用Location来定位控件的位置,而是使用Dock属性来设置控件的停靠,并随着父控件一起调整大小。
  17.     /// 作者:周公
  18.     /// 日期:2008-5-31
  19.     /// 原创地址:http://blog.csdn.net/zhoufoxcn/archive/2008/05/31/2499194.aspx
  20.     /// 
  21.     public partial class MainForm : Form
  22.     {
  23.         public MainForm()
  24.         {
  25.             InitializeComponent();
  26.         }
  27.         //显示我的好友名单菜单
  28.         private void btnMyFriend_Click(object sender, EventArgs e)
  29.         {
  30.             //设置停靠
  31.             listView.Dock = DockStyle.None;
  32.             btnMyFriend.Dock = DockStyle.Top;
  33.             btnMyColleague.Dock = DockStyle.Bottom;
  34.             btnMyStranger.SendToBack();
  35.             btnMyStranger.Dock = DockStyle.Bottom;
  36.             listView.BringToFront();
  37.             listView.Dock = DockStyle.Bottom;
  38.             //添加项
  39.             listView.Clear();
  40.             listView.Items.Add("老婆", "老婆", 5);
  41.             listView.Items.Add("小蜜", "小蜜", 1);
  42.             listView.Items.Add("周公", "周公", 7);
  43.             listView.Items.Add("情人", "情人", 7);
  44.             listView.Items.Add("丽丽", "丽丽", 6);
  45.             listView.Items.Add("花花", "花花", 8);
  46.             listView.Items.Add("贝贝", "贝贝", 9);
  47.         }
  48.  
  49.         private void MainForm_Load(object sender, EventArgs e)
  50.         {
  51.             //设置停靠
  52.             listView.Dock = DockStyle.None;
  53.             btnMyFriend.Dock = DockStyle.Top;
  54.             btnMyColleague.Dock = DockStyle.Bottom;
  55.             btnMyStranger.SendToBack();
  56.             btnMyStranger.Dock = DockStyle.Bottom;
  57.             listView.BringToFront();
  58.             listView.Dock = DockStyle.Bottom;
  59.             //添加项
  60.             listView.Clear();
  61.             listView.LargeImageList = imageList;
  62.             listView.Items.Add("老婆", "老婆", 5);
  63.             listView.Items.Add("小蜜", "小蜜", 1);
  64.             listView.Items.Add("丽丽", "丽丽", 4);
  65.             listView.Items.Add("周公", "周公", 7);
  66.             listView.Items.Add("情人", "情人", 7);
  67.             listView.Items.Add("花花", "花花", 8);
  68.             listView.Items.Add("贝贝", "贝贝", 9);
  69.         }
  70.         //显示我的陌生人菜单
  71.         private void btnMyStranger_Click(object sender, EventArgs e)
  72.         {
  73.             //设置停靠
  74.             listView.Dock = DockStyle.None;
  75.             btnMyStranger.SendToBack();
  76.             btnMyStranger.Dock = DockStyle.Top;
  77.             btnMyColleague.SendToBack();
  78.             btnMyColleague.Dock = DockStyle.Top;
  79.             btnMyFriend.SendToBack();
  80.             btnMyFriend.Dock = DockStyle.Top;
  81.             listView.Dock = DockStyle.Top;
  82.             添加项
  83.             listView.Clear();
  84.             listView.Items.Add("赌友", "赌友", 16);
  85.             listView.Items.Add("牌友", "牌友", 14);
  86.             listView.Items.Add("聊友", "聊友", 15);
  87.             listView.Items.Add("吹友", "吹友", 12);
  88.             listView.Items.Add("侃友", "侃友", 11);
  89.             listView.Items.Add("驴友", "驴友", 9);
  90.             listView.Items.Add("书友", "书友", 10);
  91.             listView.Items.Add("笔友", "笔友", 13);
  92.         }
  93.         //显示我的同事菜单
  94.         private void btnMyColleague_Click(object sender, EventArgs e)
  95.         {
  96.             //设置停靠
  97.             listView.Dock = DockStyle.None;
  98.             btnMyColleague.Dock = DockStyle.Top;
  99.             btnMyFriend.SendToBack();
  100.             btnMyFriend.Dock = DockStyle.Top;
  101.             btnMyStranger.Dock = DockStyle.Bottom;
  102.             listView.Dock = DockStyle.Bottom;
  103.             listView.BringToFront();
  104.             添加项
  105.             listView.Items.Clear();
  106.             listView.Items.Add("老板", "老板", 2);
  107.             listView.Items.Add("董事长", "董事长", 3);
  108.             listView.Items.Add("组长", "组长", 4);
  109.             listView.Items.Add("班长", "班长", 17);
  110.             listView.Items.Add("妇女主任", "妇女主任", 16);
  111.             listView.Items.Add("行政主管", "行政主管", 15);
  112.             listView.Items.Add("楼道大妈", "楼道大妈", 2);
  113.             listView.Items.Add("办公室主任", "办公室主任", 3);
  114.             listView.Items.Add("经理办", "经理办", 4);
  115.             listView.Items.Add("党委办", "党委办", 17);
  116.             listView.Items.Add("宣传办", "宣传办", 16);
  117.             listView.Items.Add("退休办", "退休办", 15);
  118.         }
  119.     }
  120. }

 

程序运行效果:

 

 

 

说明:可演示和编译执行的源代码请到http://download.csdn.net/source/476468下载。

  • 1
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 33
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周公

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值