• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

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

看图:

QQ的

 

美化方法:

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开发。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,在文章页面位置给出原文连接,如有问题,可以通过[email protected] 联系我,非常感谢。

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

看图:

QQ的

 

美化方法:

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 )群共享下载


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#把十六进制表示的ASCII码转换为对应的字符组成的字符串发布时间:2022-07-13
下一篇:
C++Primer上的Sales_item.h文件内容发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap