仿QQ面板的WinForm窗體

http://blog.csdn.net/zhoufoxcn/archive/2008/05/31/2499194.aspx 

 

仿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.     /// <SUMMARY></SUMMARY>   
  12.     /// 說明:前幾天在一個朋友那裏看到做得很漂亮的一個企業及時通訊軟件,利用C#編寫,完全沒有利用第三方控件就實現了類似於QQ面板的效果,非常漂亮。   
  13.     ///回家之後憑着自己的記憶和查閱MSDN嘗試實現了一下,初步實現了類似效果,現在奉獻給大家。   
  14.     ///在程序中用到了三種控件(不包括窗體類):ImageList、Button和ListView。   
  15.     ///Button控件顯示好友分組,點擊之後顯示相應好友分組的信息;ImageList控件用於存放好友頭像;ListView控件用於顯示好友列表。   
  16.     ///在程序中不是用Location來定位控件的位置,而是使用Dock屬性來設置控件的停靠,並隨着父控件一起調整大小。   
  17.     /// 作者:周公   
  18.     /// 日期:2008-5-31   
  19.     /// 原創地址:<A href="http://blog.csdn.net/zhoufoxcn/archive/2008/05/31/2499194.aspx">http://blog.csdn.net/zhoufoxcn/archive/2008/05/31/2499194.aspx</A>   
  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. }  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章