仿QQ面板的WinForm窗体

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

程序核心代码:

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace QQPanelDemo { /// <summary></summary> /// 说明:前几天在一个朋友那里看到做得很漂亮的一个企业及时通讯软件,利用C#编写,完全没有利用第三方控件就实现了类似于QQ面板的效果,非常漂亮。 ///回家之后凭着自己的记忆和查阅MSDN尝试实现了一下,初步实现了类似效果,现在奉献给大家。 ///在程序中用到了三种控件(不包括窗体类):ImageList、Button和ListView。 ///Button控件显示好友分组,点击之后显示相应好友分组的信息;ImageList控件用于存放好友头像;ListView控件用于显示好友列表。 ///在程序中不是用Location来定位控件的位置,而是使用Dock属性来设置控件的停靠,并随着父控件一起调整大小。 /// 作者:周公 /// 日期:2008-5-31 /// 原创地址:http://blog.csdn.net/zhoufoxcn/archive/2008/05/31/2499194.aspx /// public partial class MainForm : Form { public MainForm() { InitializeComponent(); } //显示我的好友名单菜单 private void btnMyFriend_Click(object sender, EventArgs e) { //设置停靠 listView.Dock = DockStyle.None; btnMyFriend.Dock = DockStyle.Top; btnMyColleague.Dock = DockStyle.Bottom; btnMyStranger.SendToBack(); btnMyStranger.Dock = DockStyle.Bottom; listView.BringToFront(); listView.Dock = DockStyle.Bottom; //添加项 listView.Clear(); listView.Items.Add("老婆", "老婆", 5); listView.Items.Add("小蜜", "小蜜", 1); listView.Items.Add("周公", "周公", 7); listView.Items.Add("情人", "情人", 7); listView.Items.Add("丽丽", "丽丽", 6); listView.Items.Add("花花", "花花", 8); listView.Items.Add("贝贝", "贝贝", 9); } private void MainForm_Load(object sender, EventArgs e) { //设置停靠 listView.Dock = DockStyle.None; btnMyFriend.Dock = DockStyle.Top; btnMyColleague.Dock = DockStyle.Bottom; btnMyStranger.SendToBack(); btnMyStranger.Dock = DockStyle.Bottom; listView.BringToFront(); listView.Dock = DockStyle.Bottom; //添加项 listView.Clear(); listView.LargeImageList = imageList; listView.Items.Add("老婆", "老婆", 5); listView.Items.Add("小蜜", "小蜜", 1); listView.Items.Add("丽丽", "丽丽", 4); listView.Items.Add("周公", "周公", 7); listView.Items.Add("情人", "情人", 7); listView.Items.Add("花花", "花花", 8); listView.Items.Add("贝贝", "贝贝", 9); } //显示我的陌生人菜单 private void btnMyStranger_Click(object sender, EventArgs e) { //设置停靠 listView.Dock = DockStyle.None; btnMyStranger.SendToBack(); btnMyStranger.Dock = DockStyle.Top; btnMyColleague.SendToBack(); btnMyColleague.Dock = DockStyle.Top; btnMyFriend.SendToBack(); btnMyFriend.Dock = DockStyle.Top; listView.Dock = DockStyle.Top; ////添加项 listView.Clear(); listView.Items.Add("赌友", "赌友", 16); listView.Items.Add("牌友", "牌友", 14); listView.Items.Add("聊友", "聊友", 15); listView.Items.Add("吹友", "吹友", 12); listView.Items.Add("侃友", "侃友", 11); listView.Items.Add("驴友", "驴友", 9); listView.Items.Add("书友", "书友", 10); listView.Items.Add("笔友", "笔友", 13); } //显示我的同事菜单 private void btnMyColleague_Click(object sender, EventArgs e) { //设置停靠 listView.Dock = DockStyle.None; btnMyColleague.Dock = DockStyle.Top; btnMyFriend.SendToBack(); btnMyFriend.Dock = DockStyle.Top; btnMyStranger.Dock = DockStyle.Bottom; listView.Dock = DockStyle.Bottom; listView.BringToFront(); ////添加项 listView.Items.Clear(); listView.Items.Add("老板", "老板", 2); listView.Items.Add("董事长", "董事长", 3); listView.Items.Add("组长", "组长", 4); listView.Items.Add("班长", "班长", 17); listView.Items.Add("妇女主任", "妇女主任", 16); listView.Items.Add("行政主管", "行政主管", 15); listView.Items.Add("楼道大妈", "楼道大妈", 2); listView.Items.Add("办公室主任", "办公室主任", 3); listView.Items.Add("经理办", "经理办", 4); listView.Items.Add("党委办", "党委办", 17); listView.Items.Add("宣传办", "宣传办", 16); listView.Items.Add("退休办", "退休办", 15); } } }程序运行效果:
说明:可演示和编译执行的源代码请到http://download.csdn.net/source/476468下载。
阅读更多

没有更多推荐了,返回首页