[转]C# 高仿腾讯QQ (主面板左边功能导航基于Toolstrip绘制)(附源码)

转摘自:http://www.cnblogs.com/Along729/archive/2011/03/01/Toolstrip.html

暂时还没时间,把代码分离出来,做到通用,所以大家看着自己动手改改代码吧

看图:

QQ的

2011030120234573.jpg 

2011030120235493.jpg

2011030120241249.jpg

美化方法:

使用 Renderer 属性和 ToolStripRenderer 类来自定义 ToolStrip 的外观

调用方法 

 
   
//作者:阿龙(Along)
//QQ号:646494711
//QQ群:57218890
//网站:http://www.8timer.com
//博客:http://www.cnblogs.com/Along729/
//声明:未经作者许可,任何人不得发布出售该源码,请尊重别人的劳动成果,谢谢大家支持
MainLefttool.Renderer = new Toolstrip();
toolStripButton1.Image = new Bitmap( @" 1.png " );
toolStripButton2.Image = new Bitmap( @" 2.png " );
toolStripButton3.Image = new Bitmap( @" 3.png " );
toolStripButton4.Image = new Bitmap( @" 4.png " );
toolStripButton5.Image = new Bitmap( @" 5.png " );
toolStripButton6.Image = new Bitmap( @" 6.png " );
toolStripButton7.Image = new Bitmap( @" 7.png " );
toolStripButton8.Image = new Bitmap( @" 8.png " );
toolStripButton9.Image = new Bitmap( @" panelcenterbtn.png " );

重绘Toolstrip的代码

 
   
//作者:阿龙(Along)
//QQ号:646494711
//QQ群:57218890
//网站:http://www.8timer.com
//博客:http://www.cnblogs.com/Along729/
//声明:未经作者许可,任何人不得发布出售该源码,请尊重别人的劳动成果,谢谢大家支持
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Drawing2D;

namespace MainForm
{
public class Toolstrip : ToolStripRenderer
{
private int i;
public Toolstrip()
{
}

protected override void InitializeItem(ToolStripItem item)
{
base .InitializeItem(item);
item.AutoSize = false ;
item.Height = 30 ;
item.Padding = new Padding( 5 );
item.Margin = new Padding( 0 , 0 , 0 , 1 );
if (item is ToolStripButton)
{
ToolStripButton btn = item as ToolStripButton;
item.Width = 30 ;
}

}

#region // 绘制按钮
protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e)
{
bool chk = false ;
chk = (e.Item as ToolStripButton).Checked;
if (e.Item.Pressed && e.Item.Selected)
{
i = 2 ;
}
else if (e.Item.Selected)
{
i = 1 ;
}
else if (chk)
{
i = 2 ;
}
else
{ i = 0 ; }
ImageDrawRect.DrawRect(e.Graphics, global ::MainForm.Properties.Resources.main_tabbtn, new Rectangle(Point.Empty, e.Item.Size), Rectangle.FromLTRB( 5 , 15 , 5 , 5 ), i, 2 );
}
#endregion
}

}

详细测试代码,请进(Winform NET技术交流群:57218890 )群共享下载

作者:Along(阿龙)
出处:http://www.cnblogs.com/Along729/
关于作者:专注于项目架构、WINFORM开发、WEB开发。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,在文章页面位置给出原文连接,如有问题,可以通过bpd729@163.com 联系我,非常感谢。

转载于:https://www.cnblogs.com/hxworm/articles/1968413.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值